从Linux命令行生成一个sha256
我知道string“foobar”使用http://hash.online-convert.com/sha256-generator生成SHA 256哈希c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2
不过命令行shell:
hendry@x201 ~$ echo foobar | sha256sum aec070645fe53ee3b3763059376134f058cc337247c978add178b6ccdfb0019f -
生成不同的哈希。 我错过了什么?
echo
通常会输出一个换行符,这个换行符被-n
所抑制。 尝试这个:
echo -n foobar | sha256sum
如果你已经安装了openssl
,你可以使用:
echo -n "foobar" | openssl dgst -sha256
对于其他algorithm,可以用-md4
, -md5
, -ripemd160
, -sha
, -sha1
, -sha224
, -sha384
, -sha512
或-whirlpool
。
如果命令sha256sum不可用(例如在特立独行),您可以使用:
echo -n "foobar" | shasum -a 256
echo -n
作品,并不可能永远消失由于大量的历史用法,然而,每个最新版本的POSIX标准 ,新的符合应用程序“鼓励使用printf
”。
我相信echo
输出一个尾随的换行符。 尝试使用-n
作为参数来回显以跳过换行符。
回声产生一个尾随的换行符,也被哈希。 尝试:
/bin/echo -n foobar | sha256sum