数据编码 - PHP与C#

时间:2013-02-28 01:14:41

标签: c# php encryption md5

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

$signature = md5($tosigndata);

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

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

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

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

修改Tools.GetBytes()返回Encoding.UTF8.GetBytes(tosigndata);

1 个答案:

答案 0 :(得分: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