我知道字符串“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
...