HMACSHA1 из C # в PHP - PullRequest
       1

HMACSHA1 из C # в PHP

2 голосов
/ 09 марта 2012

Я пытаюсь понять эти строки кода из метода C # (.Net) для создания подписи.Однако я хотел бы сделать то же самое в PHP, но не совсем понимаю, что он делает в C #.

Интересно, сможет ли какой-нибудь разработчик .net помочь мне интерпретировать приведенный ниже код на «английском»?

Большое спасибо

HMAC hasher;

            Byte[] utf8EncodedString = Encoding.UTF8.GetBytes(String.Format("{0}:{1}:{2}", MethodName, TimeStamp, AccessID));

            hasher = HMACSHA1.Create();

            hasher.Key = Encoding.UTF8.GetBytes(AccessKey);

            Byte[] hashResult = hasher.ComputeHash(utf8EncodedString);

            return Convert.ToBase64String(hashResult);

Вот мой PHP-код.Это правильно?

$ signatureString = $ methodName. ':'. $ TimeStamp. ':'. $ AccessID;
return hash_hmac ('sha1', $ signatureString, $ accessKey, false);

Обновление: 30-05-2012

Только что получил его на работу сейчас

$signature = base64_encode(hash_hmac('sha1', $signatureString, $accessKey,true));

1 Ответ

0 голосов
/ 09 марта 2012

Ответ на php.net для вас http://www.php.net/manual/ru/function.hash-hmac.php#105099

...