您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Django make_password太慢,无法以编程方式创建大量用户

Django make_password太慢,无法以编程方式创建大量用户

您可以将django.contrib.auth.hashers.MD5PasswordHasher用作初始密码。根据有关Django如何存储密码的Django文档

,这是NIST推荐的密码扩展机制。对于大多数用户而言,这应该足够了:这是相当安全的,

[…]

Django通过咨询PASSWORD_HASHERS设置来选择一种算法。这是此Django安装支持的哈希算法类的列表。 (即settings.PASSWORD_HASHERS [0]) [认] […]

PASSWORD_HASHERS的认值为:

PASSWORD_HASHERS = (
    'django.contrib.auth.hashers.PBKDF2PasswordHasher',
    'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
    'django.contrib.auth.hashers.BCryptPasswordHasher',
    'django.contrib.auth.hashers.SHA1PasswordHasher',
    'django.contrib.auth.hashers.MD5PasswordHasher',
    'django.contrib.auth.hashers.CryptPasswordHasher'
)

因此,您希望保持认值不变,但是一开始使用较弱的哈希值。确保MD5PasswordHasher列表中存在。然后使用

make_password(pwd, None, 'md5')

首先生成一个普通的盐腌MD5密码;只要初始密码足够随机,它就不会太弱。随着用户更改密码,他们的密码将使用更强大的算法进行加密。

Go 2022/1/1 18:47:12 有389人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶