【问题标题】:hasher not found未找到哈希
【发布时间】:2012-08-02 22:48:23
【问题描述】:

我正在尝试在 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/

【问题讨论】:

  • 有同样的问题。我的 hashers.py 文件被编译但没有找到 hasher。你找到解决办法了吗?

标签: django authentication sha pbkdf2


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多