Security 您能否以明文形式将哈希密码发送回用户?

Security 您能否以明文形式将哈希密码发送回用户?,security,hash,web,Security,Hash,Web,所以我正在处理一个网站问题,我是一个中级程序员,我在一个我听说其他朋友使用的网站上购物。当我注册我的帐户时,他们以明文形式将我的密码发送回我的电子邮件。我一直认为,在html表单中,如果对密码进行哈希运算并将其发送到服务器,则无法以纯文本形式发送回密码。我假设我创建帐户的网站正在散列密码,但我无法知道。我不是什么安全专家,但我很确定他们没有对密码进行哈希运算,也没有可能将我的数据以明文形式存储在他们的服务器上。我的结论正确吗?如果它经过适当的散列和安全处理,他们应该不能以明文形式看到它。如果他们

所以我正在处理一个网站问题,我是一个中级程序员,我在一个我听说其他朋友使用的网站上购物。当我注册我的帐户时,他们以明文形式将我的密码发送回我的电子邮件。我一直认为,在html表单中,如果对密码进行哈希运算并将其发送到服务器,则无法以纯文本形式发送回密码。我假设我创建帐户的网站正在散列密码,但我无法知道。我不是什么安全专家,但我很确定他们没有对密码进行哈希运算,也没有可能将我的数据以明文形式存储在他们的服务器上。我的结论正确吗?

如果它经过适当的散列和安全处理,他们应该不能以明文形式看到它。如果他们可以很容易地访问它,那么黑客也可以。

如果它被正确地散列并安全,他们应该不能以明文形式看到它。如果他们可以轻松访问,黑客也可以轻松访问。

如果您的密码在注册过程中发送给您,则可能是在服务器收到密码时发送的,并且仍然是明文,然后它会被正确地散列和存储

但这仍然不是最佳实践,明文密码不应通过不安全的渠道发送,如电子邮件


当然,在这种情况下,他们不可能在另一个请求中再次发送它。如果发生这种情况,这确实意味着他们没有将密码进行散列存储。

如果您的密码在注册过程中发送给您,则可能是在服务器接收到密码时正确发送了密码,并且仍然是纯文本的,然后对密码进行散列并正确存储

但这仍然不是最佳实践,明文密码不应通过不安全的渠道发送,如电子邮件


当然,在这种情况下,他们不可能在另一个请求中再次发送它。如果发生这种情况,那就意味着他们没有将其散列存储。

还有另一种存储密码的方法,即加密。通过这种方式,应用服务器存储一个加密密钥来加密用户的密码并将其存储在数据库中

当用户尝试登录时,他们会加密登录的新传入密码,并尝试查看密码是否匹配

在密码丢失的情况下,他们可以通过使用应用服务器上的密钥解密用户密码,将其发送回用户

如果应用程序服务器受损,攻击者可以像应用程序服务器一样访问所有密码

无论如何,他们都不应该向用户发回他们的密码。如果用户不记得,他们必须强迫用户生成一个新的


有关更多讨论,请参见另一种存储密码的方法,即加密。通过这种方式,应用服务器存储一个加密密钥来加密用户的密码并将其存储在数据库中

当用户尝试登录时,他们会加密登录的新传入密码,并尝试查看密码是否匹配

在密码丢失的情况下,他们可以通过使用应用服务器上的密钥解密用户密码,将其发送回用户

如果应用程序服务器受损,攻击者可以像应用程序服务器一样访问所有密码

无论如何,他们都不应该向用户发回他们的密码。如果用户不记得,他们必须强迫用户生成一个新的


有关更多讨论,请参见

,因此本质上它并不像我想的那样被散列。系统以纯文本的形式发送给我,所以本质上它并不像我想的那样散列。系统以普通文本发送给我。通常密码是通过TLS连接散列发送的,然后使用密码哈希算法在服务器上散列。TLS接近于被认为是HTTPS,还是在安全端口上发送?HTTPS只是HTTP在TLS上,我的意思是写HTTPSs。通常密码是通过TLS连接散列发送的,然后用密码哈希算法在服务器上散列。TLS接近于被认为是HTTPS,还是在安全端口上发送?HTTPS只是HTTP在TLS之上,我打算写HTTPS。谢谢,我现在正在与公司交谈。我仍然不想以明文形式看到我的密码。我只是希望他们会对它进行哈希运算,但可能不会。谢谢你,我现在正在与该公司交谈,我仍然不想看到我的明文密码。我只是希望他们在散列,但可能不是。我听说加密和散列不一样,被认为是一种不好的做法。我对这个问题还是个新手,但有人告诉我它是这样的“明文<加密<哈希”。任何澄清都将是惊人的!我听说加密和散列不同,被认为是一种不好的做法。我对这个问题还是个新手,但有人告诉我它是这样的“明文<加密<哈希”。任何澄清都将是惊人的!