显示哈希会影响安全吗? PHP

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了显示哈希会影响安全吗? PHP相关的知识,希望对你有一定的参考价值。

显示用户是安全的,一次性密码是一些哈希值,是否与常规密码的哈希值相同或是否会破坏密码破解的安全性? 向用户显示一个时间密码哈希示例:$ 2y $ 10 $ bIta4cgF3o4K.7u2iry3S.iQCaUJ1Rb9uP2eu.618bjuYmONxJTP6 我不希望用户知道我如何创建一次密码,因此我想给他一个哈希值。

答案

我会同意那些问过你为什么需要这样做的人,不过这个问题已经超出了你的问题,是的,这是一个坏主意。

对于初学者,从你提供的密码,我可以告诉你正在使用某种形式的bcrypt。不可否认,bcrypt是一种非常强大的散列算法,使用GPU和hashcat等工具不易破解,但是你仍然会通过发送给用户来披露实现细节。

此外,如果您担心用户知道您生成的一次性密码,则告诉我它不是随机的。如果它不是随机的,那么即使是像bcrypt这样的非常强大的算法,如果有人找出你的一次性密码约定,也不会拯救你。

最后,我不完全确定您提出的解决方案是如何工作的,因为如果您向用户发送哈希值,他们将输入哈希值作为密码。然后,标准登录过程将对它们输入的内容进行散列(在这种情况下是您生成的一次性密码的散列),并将其与存储在数据库中的内容进行比较。这太复杂了。

我建议只生成一个10-12个字符长的随机一次性密码,然后通过之前验证过的频道将其发送给用户,即经过验证的电子邮件地址或手机号码。

以上是关于显示哈希会影响安全吗? PHP的主要内容,如果未能解决你的问题,请参考以下文章

rediscluster重新执行,会影响数据吗

你的密码安全吗? | 区块链技术之哈希

你能在不影响历史的情况下使用哈希导航吗?

[将Bcrypt与phpto哈希密码结合使用不起作用

哈希机制真的安全吗?

PHP 读取redis 时,key 的长短会影响读取时间吗