我已经阅读 Stack Overflow 问题大约 15 分钟了,每一个问题似乎都与我之前读到的问题相矛盾。 Bcrypt、SHA1、MD5 等。我目前对我的密码进行 MD5,但我想让我的数据库在发生泄露时更加安全。
我知道这个问题已经被问了一百万次,但我似乎在其他地方找不到合适的答案。
Thanks.
你之所以会看到相互矛盾的答案,是因为没有正确的答案。您应该使用您的应用程序可以支持的最安全的方法。更安全=更多开销。
MD5 http://en.wikipedia.org/wiki/MD5已经破碎和破裂。
根据本文 http://www.schneier.com/blog/archives/2005/02/sha1_broken.html, SHA1 已损坏。然而它还没有被破解。
(据我所知)bcrypt 尚未被发现被破坏。
如果有足够的 CPU 周期,任何散列或加密算法最终都可以被绕过。您的决定应该平衡数据的安全性和应用程序的性能。
考虑到这些警告,bcrypt 是目前事实上的标准。它是为强度而不是速度而设计的,并且不会被损坏。有关 bcrypt 的信息索引,请参阅维基百科上的 bcrypt 文章 http://en.wikipedia.org/wiki/Bcrypt.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)