我想变更程序中用户密码的加密方式,但是原来的是MD5,无法解密

发布于 2022-09-07 04:02:10 字数 188 浏览 20 评论 0

我想变更程序中用户密码的加密方式,但是数据库中已经用原来的MD5加密方式存了好多用户密码。

login的时候,用户输入密码然后MD5加密后再去和数据库的数据对比,数据一致就让登录。

我如果改变加密方式的话,原来的这些账户密码该怎么办?

因为是MD5,我无法把原来加密的密码解密再用新的加密方式加密,老用户会登录不进去

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

傲娇萝莉攻 2022-09-14 04:02:11

可以在数据库增加一个字段保存加密的方法 是md5还是其他。
登录的时候根据这个字段判断加密算法
然后通知老用户改密码,改了之后的新密码就是新的加密方法了,同时把 保存加密方法的字段修改成新的加密方法

ゃ懵逼小萝莉 2022-09-14 04:02:11

加个字段,加密类型,默认MD5(兼容目前库里有的),如果你想改加密方式,那么新用户进来就用新的,老用户登录成功后把密码加密算法也改了存数据库

坏尐絯 2022-09-14 04:02:11

为了兼容原来的MD5加密方式你可以在登录时将两种加密后的密码都传给后台,后台拿两个加密后的密码同时和数据库的密码比较,如果一个通过则登录成功。原来的用户数据库中还继续存着原来的MD5密码,新注册的用户和修改密码的用户则用新的加密方式存储。

心凉怎暖 2022-09-14 04:02:11

加个字段,没有必要强制要求老用户改密码

WHERE
(pwd=md5("123456") AND pwdType = "md5")
OR
(pwd=newFunc("123456") AND pwdType = "newMethod")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文