Wie kann ich SHA3 generieren, wenn in coreutils kein sha3sum-Befehl vorhanden ist?

17

Ich habe sha1sumoder sha512sumauf einer durchschnittlichen Linux-Distribution.

Aber wo ist der sha3sumBefehl, der SHA-3- Befehle erzeugen kann ?

pepite
quelle
Auf einem Debian-basierten Linux ist es anscheinend Teil des libdigest-sha3-perlPakets (nicht getestet).
Kusalananda
wenn rhash in einer ausreichend aktuellen version verfügbar ist, dann zBrhash --sha3-256
frostschutz
Tun es mit SSL unix.stackexchange.com/a/493065/3285
Evan Carroll

Antworten:

12

Es gibt eine Reihe von Implementierungen, z. B. Mattias Andréessha3sum oder das Perl Digest-SHA3-Modul . Installieren Sie in Debian libdigest-sha3-perl; Installieren Sie in Fedora sha3sum; In beiden Fällen wird ein sha3sumauf dem Perl-Modul basierender Befehl bereitgestellt, der sich wie die von Ihnen gewohnten Binärdateien verhält.

Stephen Kitt
quelle
In Debian ist libdigest-sha3-perl in jessie und neuer verfügbar (was derzeit stretch and sid bedeutet ).
ein Lebenslauf
Kein Paket sha3sum verfügbar.
pepite
@pepite auf Fedora? Welche Version?
Stephen Kitt
@pepite unter Fedora sollten Sie das perl-Digest-SHA3Paket rpmfind.net/linux/rpm2html/search.php?query=perl-Digest-SHA1
GAD3R
2
@ GAD3R in Fedora ist das passende Paket sha3sum(ich hatte meine Antwort nach Überprüfung auf einem Fedora-System aktualisiert).
Stephen Kitt
6

Hierfür können Sie OpenSSLFolgendes verwenden: Das Folgende wird mit OpenSSL 1.1.1 11 Sep 2018 von Ubuntu 18.10 demonstriert.

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

So können Sie sehen, dass es unterstützt sha3-{224,256,384,512}.

Um eine Datei zu prüfen,

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

Sie können eine Zeichenfolge mit Prüfsumme

printf "foobar" | openssl dgst -sha3-512

Sie können auch das Ausgabeformat ändern

  • -c Drucken Sie den Auszug mit Doppelpunkten aus
  • -r Drucken Sie den Digest im Coreutils-Format
Evan Carroll
quelle
3

RHash- Anwendung könnte es tun:

rhash --sha3-256 yourfile

Mehr Info: rhash -h

es wird unter Linux, BSD und Windows funktionieren

Montag
quelle
2

Wenn du so faul bist wie ich und an md5sum, sha1sum, sha256sum gewöhnt bist:

Erstellen Sie die Datei / usr / local / bin / sha3256sum und machen Sie sie mit chmod + x sha3256sum ausführbar.

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

Dann kannst du laufen:

sha3256sum file
user3559338
quelle
1

Wenn Sie opensslinstalliert haben, sollten Sie den hashalotBefehl haben, der sagt:

   Supported values for HASHTYPE:
           ripemd160 rmd160 rmd160compat sha256 sha384 sha512

Sie können den sha384Befehl auch direkt verwenden .

Eine ausreichend aktuelle Version von OpenSSL (1.1.1 oder neuer) mit vollständiger SHA-3-Unterstützung openssl helpzeigt Folgendes:

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
Patrick Mevzek
quelle
Aktualisierung der Frage, sha384 ist sha2. sha3 ist nicht sha2.
pepite
Ja, entschuldige meinen Fehler. Unterstützung für SHA3 in opensslist geplant / in Arbeit: github.com/openssl/openssl/issues/439
Patrick Mevzek
1

Eine weitere Alternative ist sha3sum für Linux, BSD, Windows, Mac, .... Alle von Rust unterstützten Plattformen.

Für Rust Benutzer: cargo install sha3sum

Für Linux-Paket x86_64: Öffnen Sie das Build-System

Für die anderen: Binär für einige Plattenformen

Weitere Informationen finden Sie unter: Bitbucket

ʕʘ̅͜ʘ̅ʔ
quelle
Herzlich willkommen! Obwohl dies eine nützliche Antwort ist, ist es besser, wenn Sie angeben, dass Sie der Autor dieser bestimmten sha3sumImplementierung sind.
Stephen Kitt