我知道字符串“foobar”可以生成sha 256散列。c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2使用http://hash.Online-Convert.com/sha256-生成器
但是,命令行shell:
hendry@x201 ~$ echo foobar | sha256sum aec070645fe53ee3b3763059376134f058cc337247c978add178b6ccdfb0019f -
生成了不同的hash。我错了什么?
echo通常会输出一个换行符,试下这个:
echo -n foobar | sha256sum
使用-n作为参数来回显跳过换行符。
echo -n由于大量的使用而不可能永远消失,然而,根据POSIX标准的最新版本,“鼓励使用printf”。
如果命令sha256sum不可用,你可以使用:
echo -n "foobar" | shasum -a 256
如果你已经安装了openssl,你可以使用:
echo -n "foobar" | openssl dgst -sha256
对于其他算法,您可以替换-sha256带着-md4,,,-md5,,,-ripemd160,,,-sha,,,-sha1,,,-sha224,,,-sha384,,,-sha512或-whirlpool...
SHA256哈希函数详解
本文探讨了如何在不同环境下生成字符串“foobar”的SHA256散列,包括在线生成器、命令行工具及各种算法选项。揭示了echo命令在输出时默认附加换行符对散列值的影响,并提供了正确的命令行操作方法。
982

被折叠的 条评论
为什么被折叠?



