Sen*_*nči 2 django django-authentication
我有一个正在运行的 wiki 用户。现在我想在 Django 中编写一个应用程序来完成特定的任务。
我必须使用我的“旧”用户/组数据库(它有不同的密码散列算法,然后是 django_auth)并时不时地同步它,因为我的用户已经有一个登录名,在任何地方都必须相同。
我也想使用 django_auth。
是否可以更改 django_auth 中的哈希算法?
以便 django auth 使用我编写的函数来检查插入的密码是对还是错。
提前致谢,塞纳德。=)
引用Django 如何存储密码文档:
Django 通过查询 PASSWORD_HASHERS 设置来选择要使用的算法。这是此 Django 安装支持的散列算法类列表。此列表中的第一个条目(即 settings.PASSWORD_HASHERS[0])将用于存储密码,所有其他条目都是可用于检查现有密码的有效哈希。这意味着如果您想使用不同的算法,您需要修改 PASSWORD_HASHERS 以在列表中首先列出您的首选算法。
您可以编写自定义的,只需从https://github.com/django/django/blob/master/django/contrib/auth/hasers.py复制粘贴哈希器,进行自定义并添加到设置中:
PASSWORD_HASHERS = [
'myApp.myUtils.CesarPasswordHasher',
'django.contrib.auth.hashers.PBKDF2PasswordHasher',
'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
'django.contrib.auth.hashers.Argon2PasswordHasher',
'django.contrib.auth.hashers.BCryptSHA256PasswordHasher',
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1999 次 |
| 最近记录: |