Openssl sha1和x27的差异;s
试图找出为什么我的base64 sha1不同 我明白了 密码“a”结果“hvfkN/qlp/zhXR3cuerq6jd2Z7g=” 当使用我的java函数时。我可以使用一些随机的在线工具来验证这一点 但是,当我尝试使用命令行和openssl进行验证时Openssl sha1和x27的差异;s,openssl,sha1,Openssl,Sha1,试图找出为什么我的base64 sha1不同 我明白了 密码“a”结果“hvfkN/qlp/zhXR3cuerq6jd2Z7g=” 当使用我的java函数时。我可以使用一些随机的在线工具来验证这一点 但是,当我尝试使用命令行和openssl进行验证时 echo a | openssl dgst -binary -sha1 | openssl base64 我明白了 P3hoUOOHVQ/auDbtfm3Igd4jABs= 可能是utf8/bash的问题,所以我试了一下 echo 'a' | i
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
同样的结果
我错过了什么
编辑:
验证我的原始结果的网站
计算十六进制sha1
86F7E437FAA5A7FCE15D1DDCB9EAEA377667B8
将十六进制转换为base64
hvfkN/qlp/zhXR3cuerq6jd2Z7g=
echo
附加一个换行符,该换行符将包含在摘要计算中;请改用printf
。还要注意管道的其他部分添加无关的换行符或其他字符。现在我知道了,man echo显示“echo-n”完成了同样的事情。