gpt4 book ai didi

php - 存储可解密密码的安全方法

转载 作者:可可西里 更新时间:2023-11-01 12:30:37 24 4
gpt4 key购买 nike

我正在用 PHP 制作一个应用程序,要求必须能够解密密码,以避免将来将用户数据库切换到不同系统时出现问题。考虑到无法修改这个 future 系统的密码方法,我需要纯文本密码才能生成密码。

计划是使用存储在服务器上的公钥对用户密码进行加密。身份验证是通过加密输入并比较结果来完成的。没有完成解密。能够解密的私钥存储在异地以备后用。

您建议使用哪种加密/解密算法?当您认为私钥对攻击者不可用时,加密密码是否仍然像散列 (MD5/SHA1) 一样安全?

最佳答案

我将重新表述 Jammer 的方法 -

  1. 生成一对公钥/私钥。在您的网络服务器上硬编码公钥。将私钥存储在物理银行储物柜中,网络服务器/数据库/任何开发人员都无法触及。
  2. 当用户注册时,使用公钥加密密码 + salt。此步骤与使用哈希算法相同。将加密的密码+盐存储在数据库中。
  3. 当你想验证密码时,再次加密,并与数据库中存储的值进行比较。

如果攻击者获得了数据库,他就无法解密密码,因为他没有私钥。他无法获得私钥,因为私钥在他无法触及的银行金库中。由于加盐,两个相同的密码仍然会以不同的方式存储在数据库中。

我不建议使用上述方法,因为在未来的任何时候,有人都可能滥用私钥并获得所有密码。

但是,如果您保证私钥始终保持私密性,那么我看不出有什么技术缺陷。

当然,我可能是错的。

关于php - 存储可解密密码的安全方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2556015/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com