2

我正在尝试在 django 1.4 中使用不同的哈希器。我的应用程序“帐户”中有一个哈希文件“hashers.py”,

import hashlib

from pbkdf2 import pbkdf2
from django.contrib.auth.hashers import SHA1PasswordHasher
from django.utils.crypto import pbkdf2


class SHA512PasswordHasher(SHA1PasswordHasher):
    algorithm = "sha512"

我添加到设置中,

PASSWORD_HASHERS = (
    'accounts.hashers.SHA512PasswordHasher',
)

我得到以下异常值,

异常值:

未找到哈希:accounts.hashers.SHA512PasswordHasher

另外,如果我没有

从 pbkdf2 导入 pbkdf2

我收到以下错误,

异常值:

未知密码散列算法“pbkdf2_sha256”。您是否在 PASSWORD_HASHERS 设置中指定了它?

即使我在主 django 库中使用任何已经编写好的哈希。可能是一个错误?

无论如何,为什么找不到我的新哈希器。我遵循了 django 文档中所写的内容。 https://docs.djangoproject.com/en/dev/topics/auth/

4

1 回答 1

0

对于设置,您应该将哈希添加到列表中,而不是替换它。所以像这样编码:

PASSWORD_HASHERS += (
    'accounts.hashers.SHA512PasswordHasher',
)
于 2013-09-14T19:54:18.337 回答