0

我有一个应用程序,其源代码已检入公共存储库。此源代码包含配置文件,这些配置文件中包含 SHA-256 散列密码。

我的理解是,当涉及到散列密码时,最终用户实际上不必输入您用于生成散列的密码,而是任何生成相同散列值的密码。我相信这被称为碰撞。

那么,我是否可以公开显示我的散列密码,并合理保证某人无法获取该散列,然后生成可用于访问我的应用程序的密码(或生成一个集合)?这是这些散列算法试图做出的保证吗?

4

2 回答 2

1

在一般情况下,没有已知的针对 SHA-2 的实际攻击。不过,通常认为对散列密码保密更好,因为存在彩虹表、字典攻击和其他类似的事情。如果您采取了适当的预防措施,例如加盐、循环散列和拥有一个漂亮的长密码,它应该是完全安全的。

不过,最好不要这样做。你永远不知道未来可能会发展出什么样的加密攻击。

于 2012-07-30T04:49:27.453 回答
0

有人不太可能反转 HASH、SHA1、SALT 等。有一些方法可以反转一个,但如果你认为你有那么大的风险,我会使用 SHA1 和 SALT 以获得最大的安全性。密码很长,很难逆转,但除非他们是真正经验丰富的编码人员,否则你不太愿意成为它的受害者。

阅读 Wikipedia 上的算法...

SHA1:http ://en.wikipedia.org/wiki/SHA-1

SALT:http ://en.wikipedia.org/wiki/Salt_(密码学)

只需使用唯一的密码就可以了;-)

于 2012-07-30T04:56:23.893 回答