我知道字符串 "foobar" 生成的 SHA-256 哈希值为
c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2
,可以通过http://hash.online-convert.com/sha256-generator 来生成。但是在命令行 shell 中:hendry@x201 ~$ echo foobar | sha256sum
aec070645fe53ee3b3763059376134f058cc337247c978add178b6ccdfb0019f -
生成了一个不同的哈希值。我错过了什么?
< foobar
和echo foobar |
不是同一回事。相当于echo foobar |
的命令是sha256sum <<< foobar
,但这会像echo
一样在foobar
后添加一个新行符。 - mvdsfoobar:没有这个文件或目录
。 - kapsha256sum < foobar
和echo foobar | sha256sum
并不是完全相同的事情。前者是将文件"foobar"的内容作为标准输入提供给sha256sum
进程。而后者是将echo
内置命令提供的输入传递给sha256sum
,输入是作为命令行参数传递给echo
的字符串"foobar"。 - undefined