将django.contrib.auth.models.User密码,sha1反转为可读字符串

pan*_*ore 5 encryption django

from django.contrib.auth.models import User
u = User.objects.get(username='test')
user.password
u'sha1$c6755$66fc32b05c2be8acc9f75eac3d87d3a88f513802

是否可以撤消此密码加密?

Joh*_*kin 18

是的,这是可能的.你所需要的只是几百万年,而且是一台与太阳系相当的电脑.

  • 或来自NCIS的修道院. (2认同)
  • 或等离子机器人... http://www.sciencedaily.com/releases/2009/08/090827073256.htm =) (2认同)
  • @John你太乐观了:你应该首先尝试字典中的字符串(更有可能的是,你应该首先"测试","密码","123"......).我敢打赌,在大多数情况下,密码很快就会出现. (2认同)

Hum*_*rey 17

Sha-1是单向散列.除了使用需要数百万年的蛮力攻击之外,它无法逆转.

有一些在线数据库可以让您反转常用单词/单词组合的散列.但是,在计算哈希值之前,django会在密码中添加"salt",因此您无法撤消django密码.

这就是使用哈希的原因.没有人能找到你的密码,甚至没有系统管理员:-)


Rob*_*ner 8

不,这就是重点.

如果您的用户忘记了密码,则必须重置密码.