gpt4 book ai didi

django - 如何在 Django ORM 中获取密码哈希?

转载 作者:行者123 更新时间:2023-12-04 08:47:16 25 4
gpt4 key购买 nike

我想通过密码获取用户,所以当我输入以下代码时

User.objects.get(password='test') 
我收到一个错误,我已经知道什么是错误,这是因为密码已被散列,但我想得到它,那么我在这里需要什么技巧?

最佳答案

I get an error and I already know what is error is talking about which occurs because the password has been hashed but I want to get it, so what is the trick I need here?


不要 .散列算法使用与散列密码一起存储的随机值(名为 salt [wiki])。因此,这意味着对于给定的密码,没有一个哈希值,而是一个无限的数字。对于固定的盐大小,散列结果的数量严格来说是有限的,但散列的数量仍然如此之大,以至于无法生成/测试所有结果。
Salt 用于防止一组预先计算的哈希(也称为 rainbow table [wiki])。通过使用盐,几乎不可能为给定的一组密码计算每种可能的盐的散列值,从而使将散列值反转为密码的问题变得更加困难。
因此,您应该迭代 User对象,并使用 .check_password(…) method [Django-doc] :
for user in User.objects.all():
if user.check_password('test'):
# … we found a user with password 'test'
pass
有关更多信息,请参阅 How Django stores passwords section of the documentation .

关于django - 如何在 Django ORM 中获取密码哈希?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64250983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com