您可以将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密码;只要初始密码足够随机,它就不会太弱。随着用户更改密码,他们的密码将使用更强大的算法进行加密。