0

我有类似的东西用 PHP 写的:

$signature = md5($tosigndata);

现在,我正在尝试在 C# 中复制它:

MD5.Create().ComputeHash(Tools.GetBytes(tosigndata))

但这给了我完全不同的结果。如何更改我的 C# 代码以匹配 PHP 哈希?

PS。是的,我知道.ComputeHash()返回byte[],但这并没有改变任何东西,我尝试解码它,它仍然是一个不同的字符串。

编辑Tools.GetBytes()返回Encoding.UTF8.GetBytes(tosigndata);

4

1 回答 1

1

在 C# 中试试这个:

byte[] asciiBytes = ASCIIEncoding.ASCII.GetBytes(tosigndata); // tosigndata is your string variable
byte[] hashedBytes = MD5CryptoServiceProvider.Create().ComputeHash(asciiBytes);
string hashedString = BitConverter.ToString(hashedBytes).Replace("-", "").ToLower();
// hashString contains your hash data similar to php md5
于 2013-02-28T01:48:19.187 回答