我有如下一个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