SHA1 - 将C#/ ASP.Net函数转换为PHP SHA1

时间:2014-08-03 08:22:13

标签: c# php asp.net encryption sha1

Plesae帮助我将下面给出的C#/ ASP SHA1函数转换为兼容的PHP SHA1函数

public string SHA1(string data)
{
    byte[] hash = new SHA1CryptoServiceProvider().ComputeHash(
                         new UTF8Encoding().GetBytes(data));
    string str = string.Empty;
    foreach (byte num in hash)
       str = str + string.Format("{0,0:x2}", (object) num);
    return str;
}

我想在PHP中使用上面的SHA1函数,它可以在PHP中返回相同的值。

由于

1 个答案:

答案 0 :(得分:1)

PHP有一个内置的sha1()函数,它执行所有这些步骤并提供十六进制输出。它应该是兼容的,尽管您必须确保字符串编码和填充在两种语言中的处理方式完全相同,否则您将获得不同的哈希输出。

$str = 'apple';

if (sha1($str) === 'd0be2dc421be4fcd0172e5afceea3970e2f3d940') {
    echo "Would you like a green or red apple?";
}