coreutils中没有sha3sum命令,如何生成SHA3?

coreutils中没有sha3sum命令,如何生成SHA3?

我有sha1sum一个sha512sum普通的 Linux 发行版。

sha3sum但是可以生成的命令在哪里SHA-3命令?

答案1

您可以使用开放式SSL去做这个。运行openssl list -digest-algorithms以获取算法列表:

...
SHA3-224
SHA3-256
SHA3-384
SHA3-512
...

如您所见,sha3-{224,256,384,512}Ubuntu 18.10 中的 OpenSSL 1.1.1(2018 年 9 月 11 日)支持。您还可以openssl交互运行:

OpenSSL> help
...
Message Digest commands (see the `dgst' command for more details)
blake2b512        blake2s256        gost              md4               
md5               rmd160            sha1              sha224            
sha256            sha3-224          sha3-256          sha3-384          
sha3-512          sha384            sha512            sha512-224        
sha512-256        shake128          shake256          sm3

对文件进行校验和:

openssl dgst -sha3-512 /bin/echo
SHA3-512(/bin/echo)= c9a3baaa2aa3d667a4ff475d893b3e84eb588fb46adecd0af5f3cdd735be88c62e179f98dc8275955da4ee5ef1dc7968620686c6f7f63f5b80f10e43bc1f00fc

对字符串进行校验和:

printf "foobar" | openssl dgst -sha3-512

您可以使用以下选项更改输出格式:

  • -c以冒号分隔的两位数字组打印摘要
  • -r以“coreutils”格式输出摘要,包括换行符

答案2

有多种实现方式,例如 马蒂亚斯·安德烈的sha3sum, 或者Perl Digest-SHA3 模块。在 Debian 中,安装libdigest-sha3-perl;在 Fedora 中,安装sha3sum;这两者都将提供sha3sum基于 Perl 模块的命令,其行为方式与您习惯的二进制文件相同。

答案3

RHash应用程序可以做到这一点:

rhash --sha3-256 yourfile

更多信息:rhash -h

它可以在 Linux、BSD 和 Windows 上运行

答案4

如果你像我一样懒并且习惯了 md5sum、sha1sum、sha256sum:

创建文件 /usr/local/bin/sha3256sum 并使用 chmod +x sha3256sum 使其可执行。

#!/bin/bash
rhash --sha3-256 $1

然后你可以运行:

sha3256sum file

相关内容