首先,我应该说我对编程比较陌生,所以如果这是一个天真或愚蠢的问题,请对我温柔.
好的,所以我正在编写一个小应用程序,其中一部分将涉及散列用户密码.在研究了最佳方法之后,md5作为一种建议出现,几乎与批评其使用的文章中出现的次数相同.
替代品是SHA-1等,它们更强,更不容易被破解.这很有道理.
为了达到目的:
MD5和SHA-1都不应用于散列密码.它们旨在快速计算,这正是您不想要的.如果人们使用这些散列算法来散列密码,可能是因为他们不知道替代品.
相反,你应该使用专门为此目的设计的像bcrypt这样的东西.它可以配置为您需要的计算难度.随着计算机变得越来越快,您可以在计算中添加更多轮次以使其花费更长时间.这将减慢攻击哈希并试图使用暴力破解或基于字典的攻击来获取密码的攻击者.
有关