我正在使用php制作邮件客户端。我的问题是我需要将密码保存在数据库中,然后在发送邮件时以纯文本形式检索它们(我需要它们进行用户身份验证)。
有没有一种安全的方法可以做到这一点?
答案 0 :(得分:2)
最好不要将密码存储为纯文本。
对于身份验证,生成一个哈希值,即密码的MD5,然后比较存储在数据库中的哈希值。如果哈希值匹配,则用户通过身份验证。
如果用户忘记了密码,则应重置密码。
答案 1 :(得分:2)
如果您确实需要存储秘密以用于以后的目的(不是如前所述的身份验证),您可以使用某种加密方式,如PHP的
为每个密码选择一个密钥并将该密钥存储在其他地方,然后存储您的密码。可能最好的选择是根据拥有密码的帐户的一些静态参数提取密钥。
解密密码也需要此应用程序逻辑。因此,如果de / en-cryption逻辑在与存储加密值的数据库隔离的某个地方运行,那就太好了。
答案 2 :(得分:0)
克雷格是对的。但是,我怀疑你真正的问题是“如何保存数据供以后使用?”
在这种情况下,您有几个选择:
答案 3 :(得分:0)
您可以从数据库中查询密码。
然后在获得它之后,您可以使用
fwrite(), fopen()
打开并写在你的明文上,谷歌,他们有很多例子。但我同意@ craig1231,将明确的重要信息放入明文而不是散列它是不明智和安全的。