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


18

我拥有sha1sumsha512sum平均而言拥有Linux发行版。

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


在基于Debian的Linux上,它显然是libdigest-sha3-perl软件包的一部分(未经测试)。
库萨兰达

如果在最近的版本中有可用的鞭子,则例如rhash --sha3-256
frostschutz 17/02/24

Answers:


13

有许多实现的, 马蒂亚斯的Andrée的sha3sum,或Perl的精华,SHA3模块。在Debian中,安装libdigest-sha3-perl; 在Fedora中,安装sha3sum;两者都将提供sha3sum基于Perl模块的命令,其行为与您以前使用的二进制文件的行为相同。


在Debian中,libdigest-sha3-perl在jessie和更高版本中可用(当前表示Stretchsid)。
CVn

没有可用的软件包sha3sum。
pepite

Fedora上的@pepite?哪个版本?
史蒂芬·基特

@Fedora下的@pepite您应该使用perl-Digest-SHA3软件包rpmfind.net/linux/rpm2html/search.php?query=perl-Digest-SHA1
GAD3R

2
Fedora中的@ GAD3R是合适的软件包sha3sum(我在检查Fedora系统后更新了答案)。
史蒂芬·基特

7

您可以OpenSSL用来执行以下操作,以下是Ubuntu 18.10的OpenSSL 1.1.1 2018年9月11日的演示。

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

这样您就可以看到它的支持sha3-{224,256,384,512}

要校验文件,

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

您可以使用以下命令对字符串进行校验和

printf "foobar" | openssl dgst -sha3-512

您还可以更改输出格式

  • -c 用冒号分开打印摘要
  • -r 以coreutils格式打印摘要


3

RHash应用程序可以做到:

rhash --sha3-256 yourfile

更多信息: rhash -h

它将在Linux,BSD和Windows上运行


2

如果您像我一样懒,并且习惯于md5sum,sha1sum,sha256sum:

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

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

然后,您可以运行:

sha3256sum file

1

如果已openssl安装,则应具有以下hashalot命令:

   Supported values for HASHTYPE:
           ripemd160 rmd160 rmd160compat sha256 sha384 sha512

您也可以直接使用sha384命令。

具有足够的SHA-3支持的最新版本的OpenSSL(1.1.1或更高版本)openssl help将显示:

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

更新问题,sha384是sha2。sha3不是sha2。
pepite

是的,的确是我的错,对不起。支持SHA3的openssl计划/在工作中:github.com/openssl/openssl/issues/439
Patrick Mevzek

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.