Django登录失败,出现ValueError:原因不明

时间:2016-05-01 13:52:31

标签: django django-admin django-authentication pycrypto django-login

我在尝试登录时遇到一个奇怪的错误。这也是在登录管理员时发生的。

ValueError:未知原因

堆栈跟踪位于http://dpaste.com/3S8ZFJC

基本上它在crypto.py中的这行是失败的

return hashlib.pbkdf2_hmac(
            digest().name, password, salt, iterations, dklen)

这是在RHEL 5.3上使用Python 2.7.9的Django-1.9.5

1 个答案:

答案 0 :(得分:0)

我在使用python 2.7.12的centos 5.8时遇到了同样的问题,我在django设置中添加了更改密码哈希。

默认情况下是:

PASSWORD_HASHERS = [
    'django.contrib.auth.hashers.PBKDF2PasswordHasher',
    'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
    'django.contrib.auth.hashers.BCryptSHA256PasswordHasher',
    'django.contrib.auth.hashers.BCryptPasswordHasher',
    'django.contrib.auth.hashers.SHA1PasswordHasher',
    'django.contrib.auth.hashers.MD5PasswordHasher',
    'django.contrib.auth.hashers.CryptPasswordHasher',
]

我把它改为:

PASSWORD_HASHERS = [
    'django.contrib.auth.hashers.MD5PasswordHasher',
    'django.contrib.auth.hashers.PBKDF2PasswordHasher',
    'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
    'django.contrib.auth.hashers.BCryptSHA256PasswordHasher',
    'django.contrib.auth.hashers.BCryptPasswordHasher',
    'django.contrib.auth.hashers.SHA1PasswordHasher',
    'django.contrib.auth.hashers.CryptPasswordHasher',
]

我不认为使用MD5已经足够好了,所以我希望找到可能缺少的系统库。您还需要创建新用户或超级用户,因为您已经创建了一些他们的密码,并且没有正确的加密。