当前位置:  开发笔记 > 编程语言 > 正文

如果.net sha1 hash需要一个字节数组,并且php sha1()想要一个字符串,我可以匹配结果吗?

如何解决《如果.netsha1hash需要一个字节数组,并且phpsha1()想要一个字符串,我可以匹配结果吗?》经验,为你挑选了1个好方法。

我有一组字节我想应用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的东西是固定的,无法修改.谢谢!



1> Welbog..:

由于SHA1是一种常见的标准算法,因此它在PHP中的实现方式与在.NET中的实现方式相同.唯一不同的部分是如何调用这两个函数.

从技术上讲,SHA1是在字节而不是字符串上定义的,但是(如果我错了,请纠正我)PHP字符串使用单字节字符,因此字节和字符应该可以从SHA1算法的角度进行交换.

您必须确保二进制文件中的字符串值与.NET的字节数组相同,顺序相同.我不是一个PHP人,所以你必须得到别人的答案才能做到这一点.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有