我散列動作腳本中的一些數據,然後比較散列與C#中計算的散列,但它們不匹配。MD5散列在C#中不匹配MD5散列在行動腳本
任何人都知道爲什麼?
這是我在行動腳本做:
var hash : String = MD5.hash(theString);
這裏就是我在C#中做:
var md5Hasher = MD5.Create();
byte[] data = md5Hasher.ComputeHash(Encoding.UTF8.GetBytes(theSameString));
var sBuilder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
var hash = sBuidler.ToString();
我想這是一個編碼的事情,但不能把我的手指就此...讓我知道!
-ev
謝謝我使用你的建議找到正確的編碼。 事實證明: byte [] data = md5Hasher.ComputeHash(Encoding.GetEncoding(「ISO-8859-1」).GetBytes(input)); 是正確的。 謝謝! -Ev – 2010-08-27 05:49:39