繁体   English   中英

有没有办法检索具有特定密码的所有用户

[英]Is there a way to retrieve all users that have a particular password

我正在使用Laravel的哈希功能将加密的密码存储在表中。

我知道我可以使用Hash::check函数检查普通密码是否与加密密码匹配,但是有一种方法可以从数据库中检索具有给定密码的所有用户,而无需实际获取所有用户,然后比较每个人的密码使用Hash::check函数?

编辑

用例是我想知道有多少用户使用给定的密码。

并非没有获取所有用户并逐一检查每个用户。 Laravel的密码哈希使用bcrypt (PHP的本机password_hash / password_verify )经过专门设计,使这种事情难以做到(出于安全性/保护性 )-每次使用不同的盐,因此即使两个哈希都不相同如果密码相同。

我不知道Laravel的哈希中是否有这样的功能,但似乎不太可能,因为根据定义,哈希与普通密码没有1-1关系。

我的意思是,多个密码可以具有相同的哈希值,并且如果Laravel Hashing使用Salt(很可能是因为它是一种基本的安全模式),那么相同的密码甚至不会对所有用户都具有相同的哈希值。

不太可能具有这样的功能,但是如果有的话,您可以确定它的幕后功用与您所说的完全相同:循环用户并在每个用户上使用Hash :: check。 因为哈希是故意设计的,所以这样做是唯一的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM