为什么 Go sha256 给出的结果与 Ubuntu 命令 sha256sum 不同?

Why does Go sha256 give different result than Ubuntu command sha256sum?

Golang playground link 在 SO 问题中使用 Go 的 sha256 lib 给出的结果不同于 运行 Ubuntu linux 中的以下命令。

echo "sha1 this string" | sha256sum

Go 的结果:fceab3bb749b11a43b89f21ccd28e3f5d8b38d5b23eeea960fc169ab482ee2cd

Linux 结果:62d44fd0392ed998179bfd4a162141d7000d1f9aa4fae26465e2e4f57d3a420e

这不是在 Go 中创建摘要的正确方法吗?有人可以解释这里发生了什么吗?

因为 echo 附加了一个 \n 字符。尝试做 echo -n:

echo -n "sha1 this string" | gsha256sum
fceab3bb749b11a43b89f21ccd28e3f5d8b38d5b23eeea960fc169ab482ee2cd  -