我正在寻找一种非对称加密算法,该算法使用简单的PHP实现,每次运行时都不会生成不同的公钥/私钥(但对于相同的密码总是相同)。
原因很简单:我的客户经常忘记/重置密码,但一旦记住密码,他们就应该能够恢复使用旧公钥发送给他们的旧加密文件。使用RSA,每次他们重置密码(以及他们的公钥)时,即使是相同的密码,也会生成一个新的随机公钥。
提前致谢!
答案 0 :(得分:0)
使用基于密码的加密来加密私钥。这首先从密码(例如使用PBKDF2或bcrypt)派生密钥,然后加密私有指数或整个密钥。这是例如PGP有效。当然,这需要存储加密的私钥。