我正在实施一个登录脚本,其中包括向用户发送用户名和密码(存储在MySQL数据库中)的功能,以防万一他们忘记了。该脚本的默认行为是发送用户名和 新 密码,即生成临时密码。
我想知道是否有办法只是通过电子邮件发送当前密码,这样用户就不必重置它了。目前密码已加密,但我无法弄清楚这是如何完成的。密码格式为:
* 2D4CE9DDA883E4FBE985A3439D9DCDCBD88367A0
因此,当我尝试发送当前密码时,会发送加密密码。
有没有办法在发送提醒电子邮件时解密密码,还是我必须保留原样?
谢谢,
尼克
答案 0 :(得分:6)
你真的不应该这样做,即使有可能(我怀疑)。电子邮件非常不安全,用户倾向于重复使用密码:
只需像其他人一样给他们一个新密码(并鼓励或要求他们在下次登录时更改密码)。
答案 1 :(得分:4)
密码可能是经过哈希处理的,而不是加密的。所以不,你不能解密它们。如果它们实际上是加密的,则需要密钥来解密它们。无论如何,哈希(SHA1最有可能)是更安全的方式。另请在此上下文中查看关键字“salt”。
只需为他们生成一个新的临时密码,并强制他们在首次登录后进行更改。这是通常的方式,这是有充分理由的。不要像一些大型软件公司那样,重视安全性。