我正在从django 1.1升级到django 1.5并遵循本指南:Upgrade Django from 1.1 to 1.5.1除了阅读手册和发行说明之外。
我没想到的一件事是auth app密码加密的后向不兼容性,刚才我发现自从django 1.4以来,加密算法已经使用sha1更新为使用PBKDF2。
由于我已经注册了大量用户,因此无法让他们重新创建帐户。所以我想知道你们中是否有人有类似的问题,并找到了解决问题的方法。
如果有任何解决方案,请告诉我,以便我的用户仍然可以使用他们当前的密码。
谢谢! TS
答案 0 :(得分:0)
查看文档:{{3}}
它说,"当用户登录时,如果他们的密码存储的内容不是首选算法,Django会自动将算法升级到首选算法。这意味着当用户登录时,旧的Django安装将自动更安全,这也意味着您可以在发明时切换到新的(并且更好的)存储算法。"
所以我想如果你只是确保bot sha1和PBKDF2在PASSWORD_HASHERS
(它们是默认值),它应该可以工作。用户仍然可以使用旧哈希登录,而django会自动将密码更新为新密码。
如果您不希望django自动更新密码,您只需将sha1和PASSWORD_HASHERS
列表的顶部放在一起。