Я делаю это в C# создать хэш:Почему этот хэш HMAC SHA256 я создаю, используя неправильную кодировку символов?
using (var hmacsha256 = new HMACSHA256(Encoding.ASCII.GetBytes(secret)))
{
return System.Text.Encoding.UTF8.GetString(hmacsha256.ComputeHash(Encoding.ASCII.GetBytes(message)));
}
Я использую следующий JSON:
{
"client_id": "26075235",
"client_version": "1.0.0",
"event": "app.uninstall",
"timestamp": "1478741247",
"data": {
"user_id": "62581379",
"site_id": "837771289247593785",
"domain": ""
}
}
и я получаю это:
sXm.- ! N0V @ я SIEC, 56
Я ожидаю, что хэш выглядеть следующим образом:
960aff6c335a87e6077f41066358980a88db54062505875e5a8c363ded9d027e
Если я хеширование так:
using (var hmacsha256 = new HMACSHA256(Encoding.UTF8.GetBytes(secret)))
{
return System.Text.Encoding.UTF8.GetString(hmacsha256.ComputeHash(Encoding.UTF8.GetBytes(message)));
}
я получаю то же самое. Как вернуть то, что я ожидаю?
Что я не понимаю об этом?
Спасибо, однако BitConverter.ToString дает мне 73 -58-ЭЭ-6D-81-2E-15-1D-14-2D-8F-6E-F1-30-85-76-40-D3-69-14-21-53-A6-D7-49-45 -43-2C-D8-35-13-36. Есть идеи? – Izzy
@ Идея для чего? какова ваша новая проблема сейчас? –
Спасибо LB - мое сообщение для хэширования было неправильным, и это меня бросило. Когда я передаю правильное сообщение и удаляю '-', он работает - см. Мой ответ для довольно аккуратного способа хеширования сообщения – Izzy