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


String to sha1, then to hexadecimal (length 40)

我想要一个sha1编码的字符串,然后十六进制,长度为40个字符。这是一个Java web服务,客户端将使用PHP完成。

原始代码是Java(我没有源代码,只有文档),它散列了以下字符串:

chNFe = 43120910585504000174650010000000541123456781, nVersao = 100, tpAmb = 2,dhEmi = 323031322 d30392d32375431363a32303a33342d30333a3030& vNF = 1000.00, vICMS = 180.00, digVal = 37327151612 b623074616f514f3966414a7766646c5875715176383d& cIdToken = 0000011058550420130001

到以下十六进制:3 facb55248244d98c658fc8a826413bcef10a4ae

上面的例子来自webservice文档,它说字符串用sha1编码,然后结果被编码为十六进制。

我尝试sha1然后dec十六进制和许多其他方法,但不能得到相同的结果。有人知道PHP需要做什么类型的编码来得到这个哈希吗?

谢谢。

NFE手册错误。示例String在String ..的末尾有一个空格

出现的地方5176383d&cIdToken=000001105855042013000是真的5176383 d, cIdToken = 000001105855042013000

脚本中的常规函数使用sha1解决了这个问题;)

在mysql中可以这样做:sha1 (yourExampleString)…PHP中可以是。