@azaznioo

Почему не совпадают результаты HMAC SHA256 для PHP и C#?

Не совпадают хеши полученные на PHP и C#. В чем ошибка? Проблема в алгоритме на C#

Код на PHP:
hash_hmac('sha256',$data, $key);

Код на C#:
//ОСНОВНАЯ ФУНКЦИЯ
   public static string HashHMACHex(string keyHex, string message)
        {
            byte[] hash = HashHMAC(HexDecode(keyHex), StringEncode(message));
            return HashEncode(hash);
        }
        private static byte[] HashHMAC(byte[] key, byte[] message)
        {
            var hash = new System.Security.Cryptography.HMACSHA256(key);
            return hash.ComputeHash(message);
        }
        private static string HashEncode(byte[] hash)
        {
            return BitConverter.ToString(hash).Replace("-", "").ToLower();
        }
        private static byte[] StringEncode(string text)
        {
            var encoding = new ASCIIEncoding();
            return encoding.GetBytes(text);
        }
        private static byte[] HexDecode(string hex)
        {
            var bytes = new byte[hex.Length / 2];
            for (int i = 0; i < bytes.Length; i++)
            {
                bytes[i] = byte.Parse(hex.Substring(i * 2, 2), NumberStyles.HexNumber);
            }
            return bytes;
        }
  • Вопрос задан
  • 1222 просмотра
Пригласить эксперта
Ответы на вопрос 1
Neuroware
@Neuroware
Программист в свободное от работы время
попробуйте другую реализацию
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы