【发布时间】:2017-02-15 05:57:26
【问题描述】:
首先,我意识到这是一种非常糟糕的做法-但是,我看到过这样做的网站,我想知道。
是否可以将密码与注册详细信息一起发送,并且仍然将密码存储为哈希?
因此,基本上,用户在注册后会收到一封确认电子邮件,以及他们的用户名和密码,以供参考。当网站这样做时,他们会将密码存储为哈希还是明文?
密码以明文形式存储在电子邮件中——但是,它是简单地以明文形式存储在服务器中,还是在电子邮件发送后经过哈希处理?
这似乎是一个奇怪的问题,但由于我看到很多网站都在这样做,所以我想知道——我最初的假设是错误的吗?那么,这种做法实际上是一种不好的做法,还是安全的呢? (我认为没有其他原因有这么多网站会这样做)
【问题讨论】:
-
一些服务仍然在电子邮件中以纯文本形式发送密码,并将它们存储在 db 中的哈希中。不好的做法,但很容易做到。
-
“首先,我意识到这是一种非常糟糕的做法” - 你是对的,为什么要这样做?
-
1) 生成密码。 2)散列它,将其存储在数据库中。 3) 通过电子邮件发送明文密码,因为您刚刚生成了它,所以您仍然在记忆中。 – 有什么问题?
-
老实说,这个问题太宽泛了,我需要写的内容不适合在这里发表评论。这样做时,如果我确实写了一个答案,请坚持为它投票。但是,简而言之,我可以用一些伪代码轻松回答这个问题;就在您存储(安全)散列之前,为密码设置的变量可以包含在电子邮件中,然后作为散列存储在 db 中。
$pass=$_POST['pass']; echo $pass;...$pass然后使用password_hash()保存到数据库;我能在这里做的最好的;-) -
@Fred-ii- 您能否复制/粘贴该评论作为答案?我会接受 - 这是迄今为止最好的答案,看看这个问题得到的反馈,我认为这将是我能得到的最好答案