Я пытаюсь понять эти строки кода из метода 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));