嗨,有人可以告诉我django商店超级用户数据使用了什么哈希? 我问,因为我想预先生成密码哈希,将其粘贴到准备好的json夹具中并通过脚本自动加载用户。我只需要知道如何准备特定的密码哈希。 感谢
答案 0 :(得分:2)
谢谢Josh Smeaton。我做了你的建议 - 第一次手动生成密码,然后将auth DB转储到json:
sentry --config=/etc/sentry.conf.py dumpdata --indent=2 auth > ~/auth_data.json
从转储的json文件中创建一个新的fixture:
[
{
"pk": 1,
"model": "auth.user",
"fields": {
"username": "somuser",
"first_name": "Johnny",
"last_name": "Bravo",
"is_active": true,
"is_superuser": true,
"is_staff": true,
"last_login": "2012-06-24 01:13:08",
"groups": [],
"user_permissions": [],
"password": "<password_hash>",
"email": "some@someother.com",
"date_joined": "2012-06-24 01:10:30"
}
}
]
并自动加载,无需任何互动,如下所示:
sentry --config=/etc/sentry.conf.py loaddata ~/superuser.json
答案 1 :(得分:0)
默认情况下,使用PBKDF2对用户密码进行哈希处理。您可以轻松更改此内容。
哈希以algorithm$hash
格式存储。
答案 2 :(得分:0)
使用的哈希值取决于您正在使用的Django版本。来自Django文档:
Django 1.4引入了一种新的灵活密码存储系统,默认使用PBKDF2。以前版本的Django使用SHA1,无法选择其他算法。
有关详细信息,请查看documentation。