如果我理解正确的话,通过电子邮件发送密码的最大问题是它要求密码以明文形式存储在数据库中。如果数据库遭到破坏,攻击者将获得对所有帐户的访问权限。
这个问题有解决方法吗?
如何尽可能安全地通过电子邮件向用户发送密码?
最佳答案
简单的答案是:不要。如果您认为您的数据库不安全,那么一封电子邮件就少得多。
如果您的意思是要在他们注册时向他们发送密码,那么您可以在将其存储在数据库中之前执行此操作。
如果您的意思是在他们注册后,唯一的选择是以明文形式存储(再次强调,不要这样做)或创建一个新的随 secret 码并将其发送给他们。不可能从散列中获取他们的密码,这就是为什么它使密码存储更安全。最好的选择是生成您发送给他们的新(临时)密码,或者生成一个 token ,让他们可以访问密码更改系统。
您可能需要考虑一个好的散列算法,例如 BCrypt包括盐。
关于passwords - 有没有一种安全的方式通过电子邮件以明文形式向用户发送他们的密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9447540/