我的应用程序连接到许多其他应用程序,因此我需要在我的数据库中存储其他应用程序的用户名/密码。
我不想将它们存储为纯文本,但我的应用程序需要向其他人发送纯文本密码以进行身份验证。
请建议安全存储密码的最佳方法。
感谢。
答案 0 :(得分:0)
对数据库中的敏感数据字段使用可逆加密(可能是AES),并在每次需要该值时让您的应用程序对其进行解密。您需要以某种方式访问应用程序的加密密钥,但这应该在特定于部署的配置文件中。
如果有人获取了您的数据库转储但未转储您的应用所在的文件系统,这将保护您。
答案 1 :(得分:0)
如果有的话,很少需要使用可逆加密策略来存储密码。存储密码的原因是,用户可以在将来的某个时刻向您证明其身份(对于某些“证明”值),并且通常可以使用单向散列(如MD5或SHA1)来完成。 / p>
使用单向哈希存储密码 保护您的用户免受入侵者访问您的系统的影响,因为没有密钥可以让他们从加密密码中获取明文