我正在使用各种不安全/可怕的不安全的基于MD5的密码哈希更新几个项目.我现在至少对最佳做法有所了解,但我仍然想知道我做错了什么.我还没有看到我在其他地方使用的具体过程,但至少有一个SO用户似乎想要做类似的事情.就我而言:
密码哈希是使用bcrypt生成的.(因为正确的选项似乎是bcrypt,scrypt,或者pbkdf2和bcrypt在PHP中最容易被我访问.)
每个哈希使用不同的随机盐.(防止攻击者生成使用单个静态盐计算的自定义彩虹表.)
散列,算法设置和salt存储在一起.(因为这就是PHP的crypt函数给我的哈希值.)
成功登录后,将使用新的随机盐重新计算哈希值.
这是我想知道的最后一步.我的目的是随着时间的推移允许更新散列算法,以便定期登录的用户将以最安全的格式存储密码.
我的问题是:
这是浪费时间吗?
这样做有危险吗?