我有如下一個C#函數:C#SHA256 ComputeHash導致與CryptoJS SHA256功能不同
string stringvalue = "530500480530490480530480480520570480520510500490";
var encodedvalue= Encoding.Unicode.GetBytes(stringvalue);
using (HashAlgorithm ssp = System.Security.Cryptography.HashAlgorithm.Create("SHA256"))
{
var digest = ssp.ComputeHash(encodedvalue);
return BitConverter.ToString(digest);
}
我需要創建的代碼匹配上述那一個JavaScript功能,使得兩者的最終結果C#和JS是一樣。
在我的JS代碼目前,我使用的是這樣的:
var hash = CryptoJS.SHA256("530500480530490480530480480520570480520510500490");
var hexhash = hash.toString(CryptoJS.enc.hex);
這是我hexhash的結果:
d956678c8f12c65299daf35019a9a1eb3e6eb9855fd850aeb5aafe46057d179e
但在我的C#代碼,這行var digest = ssp.ComputeHash(bPass);
回報以下數組:
我對編碼知之甚少。請告訴我在上面的c#代碼中填充了什麼類型的結果?如果我沒有弄錯,ComputeHash會返回字節,但我需要大量的讀數來確認哪個是另一個長時間的學習
我嘗試了許多不同的方式來轉換JS Sha256代碼,但沒有運氣。我在這個特定的線路上停留了將近一天。
請幫忙。謝謝
編輯: 對不起,發生代碼錯誤。我更新了C#代碼。 ComputeHash接受陣列
那'ComputeHash'不直接接受'string'參數得到的匹配結果。該代碼甚至不會編譯。 – xanatos