我有一组字节我想应用sha1哈希.一个哈希将在.net中,另一个在PHP中.然后我会测试它们是否匹配.
在.net中,您可以创建一个字节数组并使用sha.ComputeHash().
byte[] data = new byte[DATA_SIZE]; byte[] result; SHA1 sha = new SHA1CryptoServiceProvider(); // This is one implementation of the abstract class SHA1. result = sha.ComputeHash(data);
在PHP中,您调用sha1($ string).
我无法对代码的.net方面做任何事情,但是如何从PHP中获取与.net将生成的相同的哈希?
请注意:我只能在PHP方面工作..net的东西是固定的,无法修改.谢谢!
由于SHA1是一种常见的标准算法,因此它在PHP中的实现方式与在.NET中的实现方式相同.唯一不同的部分是如何调用这两个函数.
从技术上讲,SHA1是在字节而不是字符串上定义的,但是(如果我错了,请纠正我)PHP字符串使用单字节字符,因此字节和字符应该可以从SHA1算法的角度进行交换.
您必须确保二进制文件中的字符串值与.NET的字节数组相同,顺序相同.我不是一个PHP人,所以你必须得到别人的答案才能做到这一点.