【问题标题】:Why would OpenSSL be returning a different SHA1 hash output in my terminal?为什么 OpenSSL 会在我的终端中返回不同的 SHA1 哈希输出?
【发布时间】:2020-01-03 09:05:24
【问题描述】:

我正在尝试使用 SHA1 对一个相当小的值进行散列以进行大学练习。

我在 2018 年 9 月 11 日运行 OpenSSL 1.1.1。操作系统是 Ubuntu 18.04.1,通过适用于 Linux 1 的 Windows 子系统运行。

运行以下任何一项;

echo "361448504617" | openssl dgst -SHA1
echo 361448504617 | openssl dgst -SHA1
openssl dgst -sha1 hash.txt
openssl SHA1 hash.txt

返回:

(stdin)= f98a0e600cd960f6c414343748a8dabc5ae9ec0a
(stdin)= f98a0e600cd960f6c414343748a8dabc5ae9ec0a
SHA1(hash.txt)= f98a0e600cd960f6c414343748a8dabc5ae9ec0a
SHA1(hash.txt)= f98a0e600cd960f6c414343748a8dabc5ae9ec0a

如果我使用在线 SHA1 哈希生成器,例如 https://passwordsgenerator.net/sha1-hash-generator/,它会返回:

A599EBBA6735313C848118F6EDB63012163D7581

这也是工作表的答案,也是实验室指导员终端返回的内容。

谁能帮我解决这个问题?

【问题讨论】:

    标签: hash openssl rsa sha1 windows-subsystem-for-linux


    【解决方案1】:

    安德,我想通了。

    OpenSSL 也在散列换行符,使用 echo 的 -n 参数很容易解决。

    echo -n 361448504617 | openssl SHA1
    

    另外,当 OpenSSL 从文件中读取时,我得到了同样的错误,因为 vim 正在使用行尾字符进行保存。通过在 vim 中运行以下命令修复:

    :set binary 
    :set noeol 
    :wq
    

    【讨论】:

      猜你喜欢
      • 2011-07-14
      • 2014-11-30
      • 2010-10-11
      • 1970-01-01
      • 1970-01-01
      • 2019-03-17
      • 2012-02-05
      • 2011-11-02
      • 1970-01-01
      相关资源
      最近更新 更多