sha1的差异

时间:2012-05-11 21:52:40

标签: openssl sha1

试图弄清楚为什么我的base64 sha1不同。

我得到了

  

密码'a'结果'hvfkN / qlp / zhXR3cuerq6jd2Z7g ='

使用我的java函数时。我可以使用一些随机的在线工具来验证。

但是当我尝试使用命令行和openssl

进行验证时
echo a | openssl dgst -binary -sha1 | openssl base64

我得到了

  

P3hoUOOHVQ / auDbtfm3Igd4jABs =

那也许是utf8 / bash的事情,所以我试过

echo 'a' | iconv --from-code=ISO-8859-1 --to-code=UTF-8 | openssl dgst -binary -sha1 | openssl base64

同样的结果。

我错过了什么?

编辑:

验证原始结果的网站 http://www.tools4noobs.com/online_php_functions/sha1/计算hex sha1

86f7e437faa5a7fce15d1ddcb9eaeaea377667b8

将hex转换为base64 http://tomeko.net/online_tools/hex_to_base64.php?lang=en

hvfkN / QLP / zhXR3cuerq6jd2Z7g =

1 个答案:

答案 0 :(得分:2)

echo附加换行符,该换行符将包含在摘要计算中;请尝试printf。还要警惕管道的其他部分添加无关的换行符或其他字符。