【问题标题】:base64 encoding after sha1 encoding, why different resultssha1编码后base64编码,为什么结果不同
【发布时间】:2021-05-28 01:24:10
【问题描述】:

我尝试在shell中执行这两个命令,我认为结果应该是一样的,但不是。

(1)

echo -n 123456 | openssl sha1 -binary | base64 

结果:

fEqNCco3Yq9h5ZUglD3CZJT4lBs=

(2)

echo -n 123456 | openssl sha1 | base64

结果:

KHN0ZGluKT0gN2M0YThkMDljYTM3NjJhZjYxZTU5NTIwOTQzZGMyNjQ5NGY4OTQxYgo=

我认为comand 'base64' 的输入应该是相同的字节数组。为什么我得到不同的结果?

【问题讨论】:

    标签: openssl base64 sha1


    【解决方案1】:

    解码结果会告诉你发生了什么。

    在第二种情况下,decoded Base64 字符串包含:

    (stdin)= 7c4a8d09ca3762af61e59520943dc26494f8941b

    所以你得到一个十六进制的哈希字符串,而不是二进制值,加上开头完全不需要的'(stdin)='。

    使用-binary,您可以获得所需的二进制值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-04
      • 1970-01-01
      • 2018-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多