字符串到sha1,然后到十六进制(长度40)

时间:2013-06-19 17:52:31

标签: php hash hex sha1

我希望字符串为sha1编码,然后为十六进制,长度为40个字符。这是一个Java Web服务,客户端将使用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必须做什么类型的编码来获得这个哈希?

谢谢。

1 个答案:

答案 0 :(得分:0)

NFE手册错了。示例String在字符串末尾有一个空格..

出现在哪里 5176383d& cIdToken = 000001105855042013000真的 5176383d& cIdToken = 000001105855042013000

使用sha1解决此问题的常规功能;)

在mysql中你可以做到: SHA1(yourExampleString)... 在PHP中可以有类似的东西......