密码存储方案更改后,平滑过渡的几个方案

最近发现一个项目的密码存储方案采用的容易被爆破的方式,因此更换了新的存储算法,由此导致密码需要平滑过渡。
1.暴力重置:让用户在登陆之前必须重置密码,采用新算法入库密码,缺点:太不友好。有点:少写代码

2.嵌套加密:举个例子,用户的密码是password,之前用的md5存储,现在更换为argon2i,那么:
老的已经md5的密码全部做一次argon2i后入库:

argon2i(md5(password)) #代码语法不对,表示含义而已

3.登陆时验证并切换进入新算法
数据库新增一个密码是否更新算法的字段。在登陆的时候,当用户输入密码,发现没有更新算法,使用老算法做验证,验证成功后视情况调用两步验证验明正身,验证后使用新算法加密密码后入库。

标签: none

添加新评论