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

Php 有没有办法检索所有具有特定密码的用户,php,laravel,hash,Php,Laravel,Hash,我正在使用功能将加密密码存储在表中 我知道我可以使用Hash::check函数检查普通密码是否与加密密码匹配,但是有没有一种方法可以从数据库中检索具有给定密码的所有用户,而不实际获取所有用户,然后使用Hash::check函数比较每个用户的密码 编辑: 用例是我想知道有多少用户使用一个给定的密码。必须获取所有用户并逐个检查。Laravel的密码散列使用(PHP的原生密码散列/密码验证),这是专门设计的,使这类事情难以进行(例如)-它每次使用不同的salt,因此即使密码相同,也不会有两个哈希值相同

我正在使用功能将加密密码存储在表中

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

编辑


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

必须获取所有用户并逐个检查。Laravel的密码散列使用(PHP的原生
密码散列
/
密码验证
),这是专门设计的,使这类事情难以进行(例如)-它每次使用不同的salt,因此即使密码相同,也不会有两个哈希值相同。

如果不获取所有用户并分别检查每个用户,则情况并非如此。Laravel的密码散列使用(PHP的原生
密码散列
/
密码验证
),这是专门设计的,使这类事情难以进行(例如)-它每次使用不同的salt,因此即使密码相同,也没有两个哈希相同。

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

我的意思是,多个密码可以有相同的散列,如果Laravel散列使用salt(很可能是因为这是一种基本的安全模式),那么对于所有用户来说,相同的密码甚至没有相同的散列


它不太可能有这样的功能,但如果有,您可以确定,在引擎罩下,它将完全按照您所说的那样:循环用户并对每个用户使用Hash::check。因为散列是故意按顺序设计的,所以这是唯一的方法。

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

我的意思是,多个密码可以有相同的散列,如果Laravel散列使用salt(很可能是因为这是一种基本的安全模式),那么对于所有用户来说,相同的密码甚至没有相同的散列


它不太可能有这样的功能,但如果有,您可以确定,在引擎罩下,它将完全按照您所说的那样:循环用户并对每个用户使用Hash::check。因为散列是特意设计的,所以这是唯一的方法。

我不知道是否有,但我当然不希望有,可能导致的问题是疯狂的。首先,你为什么要这样做?其次,这是不可能做到的。每个密码都有一个唯一的salt,即使100万用户的密码为123456,您也不会得到相同的密码哈希。@TheAllen我已经用有关用例的详细信息更新了问题。@Sudar最好确保您的用户不会发现,因为我向您保证,他们不会喜欢你检查他们的密码。@Epodax好吧,如果你不检查密码,他们会生气的-p我不知道是否有,但我当然不希望如此,可能导致的问题将是疯狂的。首先,你为什么要这样做?其次,这是不可能做到的。每个密码都有一个唯一的salt,即使100万用户的密码为123456,您也不会得到相同的密码哈希。@TheAllen我已经用有关用例的详细信息更新了问题。@Sudar最好确保您的用户不会发现,因为我向您保证,他们不会喜欢你检查他们的密码。@Epodax好吧,如果你不检查密码,他们会生气的-P