我已經嘗試過使用MD5在PHP中對哈希字符串進行哈希處理,並且在C#中也是如此,但如果字符串中包含特殊字符,結果會有所不同。有人能解釋我如何得到這個匹配?MD5哈希特殊字符
這是我在C#代碼:
MD5 md5 = new MD5CryptoServiceProvider();
//compute hash from the bytes of text
md5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(text));
//get hash result after compute it
byte[] result = md5.Hash;
StringBuilder strBuilder = new StringBuilder();
for (int i = 0; i < result.Length; i++)
{
//change it into 2 hexadecimal digits
//for each byte
strBuilder.Append(result[i].ToString("x2"));
}
return strBuilder.ToString();
我的字符串是"Samuel2989&*"
爲字符串。
輸出:
PHP:957915b9c9a8fb65e13fe1dc9a8b86d4
C#:f5ee451f7eb4587da00d4aa31ae1c378
很難說明爲什麼它看起來不同於PHP代碼。 – itsme86
對於我來說,md5(「Samuel2989 &*");返回的結果與你的C#代碼一樣 –
PHP也爲我生成了正確的MD5散列 – ceejayoz