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

时间:2010-09-22 19:50:44

标签: java linux security spring-security hash

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

首先我找到了linux实用程序sha256sum并再次运行了密码“admin”并得到了这个结果:

fc8252c8dc55839967c58b9ad755a59b61b67c13227ddae4bd3f78a38bf394f7

然后我尝试了几个在线服务(为了好玩):

http://www.xorbin.com/tools/sha256-hash-calculator http://www.fileformat.info/tool/hash.htm?text=admin

两者都给了我这个截然不同的结果:

8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918

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

2 个答案:

答案 0 :(得分:16)

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

我认为我正在做的事情就像echo string | sha256sum一样。

当我通过php哈希生成器运行时,我会得到不同的结果。原因是因为回声添加了新线。

我不知道您是否正在使用echo,但如果您正在尝试echo -n string | sha256num

答案 1 :(得分:5)

根据Mac OS X上的echo -n "admin" | shasum -a 256,后者是正确的。请注意,您需要执行echo -n,否则字符串中也会有\n进行哈希处理。由于shasum是Perl脚本,因此您也可以使用它。如果是这样,请尝试使用它。