我可以用 Perl 或 PHP 生成 SHA1 吗?
Verotel 需要使用 sha1_hex 函数对一些数据进行哈希处理。到底是什么?整个互联网上没有任何关于它的信息。他们说“使用 SHA-1 哈希(十六进制输出)”。 Sha1 具有十六进制输出?
这是我似乎无法重现的一个示例:
sha1_hex("abc777X:description=产品的一些描述:priceAmount=51.20:priceCurrency=EUR:shopID=60678:version=1")
= 04d87d2718767ea0bef259c436ec63e3cde05be2
Verotel requires some data to be hashed with sha1_hex function. What exactly is it? No info about it in the whole internet. They say "SHA-1 hash is used (hexadecimal output)". Sha1 with hex output?
Heres one example which I can't seem to reproduce:
sha1_hex("abc777X:description=some description of product:priceAmount=51.20:priceCurrency=EUR:shopID=60678:version=1")
= 04d87d2718767ea0bef259c436ec63e3cde05be2
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
实际上,
sha1_hex
在 php 中被命名为sha1()
。这是一个处理您的输入的示例: http://codepad.org/9fLlr9VJActually, that
sha1_hex
is namedsha1()
in php. Here is an example, working on your input: http://codepad.org/9fLlr9VJSHA-1 哈希 生成 20 字节的输出。如果用十六进制表示这 20 个字节,则会得到 40 个字符。
The SHA-1 hash produces a 20 byte output. If you represent those 20 bytes in hexadecimal, you get 40 characters.
对于 Perl:Digest::SHA(从 Digest::SHA1 更新)。
For Perl: Digest::SHA (updated from Digest::SHA1).
对我有用。
Works for me.
在 PHP 中,该函数是
sha1
,而不是sha1_hex
。In PHP, the function is
sha1
, notsha1_hex
.