django - dumpdata json文件中的超级用户密码哈希

时间:2012-06-23 00:22:12

标签: django sentry

嗨,有人可以告诉我django商店超级用户数据使用了什么哈希? 我问,因为我想预先生成密码哈希,将其粘贴到准备好的json夹具中并通过脚本自动加载用户。我只需要知道如何准备特定的密码哈希。 感谢

3 个答案:

答案 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格式存储。

来源:https://docs.djangoproject.com/en/dev/topics/auth/

答案 2 :(得分:0)

使用的哈希值取决于您正在使用的Django版本。来自Django文档:

  

Django 1.4引入了一种新的灵活密码存储系统,默认使用PBKDF2。以前版本的Django使用SHA1,无法选择其他算法。

有关详细信息,请查看documentation