Ich weiß, dass die Zeichenfolge "foobar" den SHA-256-Hash c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2
mithilfe von
http://hash.online-convert.com/sha256-generator generiert
Die Befehlszeilen-Shell:
hendry@x201 ~$ echo foobar | sha256sum
aec070645fe53ee3b3763059376134f058cc337247c978add178b6ccdfb0019f -
Erzeugt einen anderen Hash. Was vermisse ich?
sha256sum < foobar
. Keine Notwendigkeit für Katze , Echo , Druck , ... Siehe auch Nutzlose Verwendung von Katze?< foobar
ist nicht dasselbe wieecho foobar |
. Das Äquivalent fürecho foobar |
wäre,sha256sum <<< foobar
aber das fügt foobar genau wie eine neue Zeile hinzuecho
.openssl dgst -sha256 foobar
funktioniert für mich unter MacOS High Sierra,echo -n foobar | openssl dgst -sha256
gab aber eine falsche Antwort.Antworten:
echo
gibt normalerweise eine neue Zeile aus, die mit unterdrückt wird-n
. Versuche dies:quelle
echo -n foobar | shasum -a 256
printf
;)alias sha256sum='shasum --algorithm 256'
-
gedruckt.Wenn Sie installiert haben
openssl
, können Sie verwenden:Für andere Algorithmen können Sie ersetzen
-sha256
mit-md4
,-md5
,-ripemd160
,-sha
,-sha1
,-sha224
,-sha384
,-sha512
oder-whirlpool
.quelle
Wenn der Befehl sha256sum nicht verfügbar ist ( z. B. unter Mac OS X 10.9 (Mavericks)), können Sie Folgendes verwenden:
echo -n "foobar" | shasum -a 256
quelle
echo -n
funktioniert und wird aufgrund der massiven historischen Nutzung wahrscheinlich nie verschwinden. Gemäß den neuesten Versionen des POSIX-Standards werden jedoch neue konforme Anwendungen "zur Verwendung ermutigtprintf
".quelle
echo
erzeugt ein nachfolgendes Zeilenumbruchzeichen, das ebenfalls gehasht wird. Versuchen:quelle
Ich glaube, das
echo
gibt einen nachgestellten Zeilenumbruch aus. Versuchen Sie-n
, das Echo als Parameter zu verwenden, um die neue Zeile zu überspringen.quelle