【问题标题】:password encryption in django when importing users to USER model将用户导入 USER 模型时 django 中的密码加密
【发布时间】:2017-05-24 12:43:21
【问题描述】:

我正在尝试使用旧数据库构建 Api,我正在尝试将其移入 Django 的 USER 模型中。

我为 django USER 模型配置了带有用户的表,但是有一个问题。旧数据库中的密码没有加密,是什么意思我无法用django登录。

任何想法如何解决这个问题?有没有办法加密密码列,或者我可以在 django 中传递它?任何帮助都将受到欢迎。谢谢。

我正在使用 sqlite3

【问题讨论】:

  • 你不能为每个用户调用 set_password 吗?看这里docs.djangoproject.com/en/1.11/ref/contrib/auth/…
  • 问题是,我的数据库里已经有用户了……对于新用户来说这不是问题,因为django加密了密码,我只是在想如何为老用户加密密码。跨度>

标签: python django encryption sqlite passwords


【解决方案1】:

如果您已经有一个导入了用户数据的数据库,您应该遍历记录并对密码进行哈希处理:

for user in User.objects.all():
    user.set_password(user.password)
    user.save()

【讨论】:

    【解决方案2】:

    忽略安全隐患,我想您唯一的选择是为用户调用set_password 并相应地更新密码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-14
      • 2022-12-12
      • 2011-02-28
      • 1970-01-01
      • 2011-06-13
      • 2014-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多