Je sais que la chaîne "foobar" génère le hachage SHA-256 en c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2
utilisant
http://hash.online-convert.com/sha256-generator
Cependant, le shell de ligne de commande:
hendry@x201 ~$ echo foobar | sha256sum
aec070645fe53ee3b3763059376134f058cc337247c978add178b6ccdfb0019f -
Génère un hachage différent. Qu'est-ce que je rate?
sha256sum < foobar
. Pas besoin de chat , d' écho , de printf , ... Voir aussi Utilisation inutile de chat?< foobar
n'est pas le même queecho foobar |
. L'équivalent deecho foobar |
seraitsha256sum <<< foobar
mais cela ajoute une nouvelle ligne à foobar commeecho
.openssl dgst -sha256 foobar
fonctionne pour moi sur MacOS High Sierra, alors qu'il aecho -n foobar | openssl dgst -sha256
donné une réponse incorrecte.Réponses:
echo
produira normalement une nouvelle ligne, qui est supprimée avec-n
. Essaye ça:la source
echo -n foobar | shasum -a 256
printf
;)alias sha256sum='shasum --algorithm 256'
-
est imprimé.Si vous avez installé
openssl
, vous pouvez utiliser:Pour d' autres algorithmes que vous pouvez remplacer
-sha256
avec-md4
,-md5
,-ripemd160
,-sha
,-sha1
,-sha224
,-sha384
,-sha512
ou-whirlpool
.la source
Si la commande sha256sum n'est pas disponible (sur Mac OS X v10.9 (Mavericks) par exemple), vous pouvez utiliser:
echo -n "foobar" | shasum -a 256
la source
echo -n
fonctionne et ne disparaîtra probablement jamais en raison d'une utilisation historique massive, mais selon les versions récentes de la norme POSIX , les nouvelles applications conformes sont "encouragées à utiliserprintf
".la source
echo
produit un caractère de fin de ligne qui est également haché. Essayer:la source
Je crois que cela
echo
produit une nouvelle ligne de fuite. Essayez d'utiliser-n
comme paramètre pour faire écho pour sauter la nouvelle ligne.la source