试图弄清楚为什么我的 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/以计算十六进制 sha1
86f7e437faa5a7fce15d1ddcb9eaeaea377667b8
将十六进制转换为 base64 http://tomeko.net/online_tools/hex_to_base64.php?lang=en
hvfkN/qlp/zhXR3cuerq6jd2Z7g=