【问题标题】:Django upgrade from 1.1 to 1.5 auth app password encryptionDjango 从 1.1 升级到 1.5 auth 应用密码加密
【发布时间】:2014-03-24 20:08:18
【问题描述】:

我正在从 django 1.1 升级到 django 1.5 并遵循本指南:Upgrade Django from 1.1 to 1.5.1 除了阅读手册和发行说明。

我没想到的一件事是 auth 应用密码加密的向后不兼容性,刚才我发现从 django 1.4 开始,加密算法已经从使用 sha1 更新为使用 PBKDF2。

由于我已经注册了大量用户,因此我无法要求他们重新创建帐户。所以我想知道你们中是否有人遇到过类似的问题并找到解决方法。

如果有任何解决方案,请告诉我,以便我的用户使用当前密码仍然有效。

谢谢! TS

【问题讨论】:

    标签: python django encryption django-authentication django-users


    【解决方案1】:

    查看文档:https://docs.djangoproject.com/en/1.5/topics/auth/passwords/#how-django-stores-passwords

    它说,“当用户登录时,如果他们的密码存储的不是首选算法,Django 会自动将算法升级到首选算法。这意味着旧安装的 Django 将自动变得更加安全,因为用户登录,这也意味着您可以切换到新的(和更好的)存储算法,因为它们被发明出来。”

    所以我认为如果你只是确保 bot sha1 和 PBKDF2 在PASSWORD_HASHERS 中(默认情况下它们是),它应该可以工作。用户仍然可以使用旧哈希登录,django 会自动将他们的密码更新为新密码。

    如果您不希望 django 自动更新密码,您只需将 sha1 和 PASSWORD_HASHERS 列表的顶部。

    【讨论】:

    • 太棒了!非常感谢!我错过了文档中的部分!谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-10-10
    • 2015-12-14
    • 2023-03-16
    • 2012-01-29
    • 2019-07-07
    • 1970-01-01
    • 2020-04-05
    • 2013-04-06
    相关资源
    最近更新 更多