我在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-EE-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
@Izzy想法是什麼?你現在的新問題是什麼? –
謝謝LB - 我的哈希消息是不正確的,它扔我。當我現在散列正確的消息,並刪除' - ',它的作品 - 看到我的答案一個相當乾淨的方式來散列消息 – Izzy