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 ?


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

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.


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


3

RHash- Anwendung könnte es tun:

rhash --sha3-256 yourfile

Mehr Info: rhash -h

es wird unter Linux, BSD und Windows funktionieren


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

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

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


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.