Java Linux命令行SHA-256哈希与在线工具不同?

Java Linux命令行SHA-256哈希与在线工具不同?,java,linux,security,spring-security,hash,Java,Linux,Security,Spring Security,Hash,我正在寻找一种快速的方法来计算密码的SHA-256散列,这样我就可以将一些测试数据上传到一个数据库中,我们正在使用Spring Security进行身份验证 首先,我找到了linux实用程序sha256sum,并再次使用密码“admin”运行它,结果如下: fc8252c8dc55839967c58b9ad755a59b61b67c13227ddae4bd3f78a38bf394f7 然后我尝试了一些在线服务(为了好玩): 两者都给了我一个非常不同的结果: 8c6976e5b5410415

我正在寻找一种快速的方法来计算密码的SHA-256散列,这样我就可以将一些测试数据上传到一个数据库中,我们正在使用Spring Security进行身份验证

首先,我找到了linux实用程序sha256sum,并再次使用密码“admin”运行它,结果如下:

fc8252c8dc55839967c58b9ad755a59b61b67c13227ddae4bd3f78a38bf394f7
然后我尝试了一些在线服务(为了好玩):

两者都给了我一个非常不同的结果:

8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918

为什么它们不同?哪个是正确的?

我在做类似的事情时遇到了这个问题

我想我当时在做的是类似于回声字符串的事情

当我通过php散列生成器运行它时,会得到不同的结果。原因是echo添加了一条新的线路


我不知道你是否在使用echo,但如果你在我的Mac OS X上尝试使用
echo-n string | sha256num

根据
echo-n“admin”| shasum-a 256
,后者是正确的。请注意,您需要执行
echo-n
,否则字符串中也会有一个
\n
。由于
shasum
是一个Perl脚本,因此您也可以使用它。如果是,请尝试使用它。

您确定第一个哈希是256位的吗?它只有160位。第二个是256位,看起来很合理。@Manuel--是的,我把它搞错了……修复了。@HDave的可能副本请用荷马·辛普森不朽的话在这里检查你的结果---DOH!救了我的命!谢谢:)错误更正“sha256num”->“sha256sum”