我想要一个字符串到 sha1 编码,然后到十六进制,长度为 40 个字符。这是一个 Java 网络服务,客户端是用 PHP 完成的。
原始代码是 Java(我没有源代码,只有文档),它对以下字符串进行哈希处理:
chNFe=43120910585504000174650010000000541123456781&nVersao=100&tpAmb=2& dhEmi=323031322d30392d32375431363a32303a33342d30333a3030&vNF=1000.00&vICMS=180.00&digVal=37327151612b623074616f514f3966414a7766646c5875715176383d&cIdToken=0000011058550420130001
到以下十六进制:3FACB55248244D98C658FC8A826413BCEF10A4AE
上面的示例来自 webservice 文档,它说字符串是用 sha1 编码的,然后结果被编码为十六进制。
我尝试了 sha1 然后 dechex 和许多其他方法,但不能得到相同的结果。有没有人知道 PHP 必须做什么类型的编码才能得到这个哈希?
谢谢你。