【问题标题】:Data encoding - PHP vs C#数据编码 - PHP 与 C#
【发布时间】:2013-02-14 01:34:16
【问题描述】:

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

$signature = md5($tosigndata);

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

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

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

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

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

【问题讨论】:

  • 你正在转换你的字符串错误。试试我的答案。

标签: c# php encryption md5


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-15
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多