Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Openssl sha1和x27的差异;s_Openssl_Sha1 - Fatal编程技术网

Openssl sha1和x27的差异;s

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

试图找出为什么我的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
同样的结果

我错过了什么

编辑:

验证我的原始结果的网站 计算十六进制sha1

86F7E437FAA5A7FCE15D1DDCB9EAEA377667B8

将十六进制转换为base64


hvfkN/qlp/zhXR3cuerq6jd2Z7g=

echo
附加一个换行符,该换行符将包含在摘要计算中;请改用
printf
。还要注意管道的其他部分添加无关的换行符或其他字符。

现在我知道了,man echo显示“echo-n”完成了同样的事情。