0

我正在從django 1.1升級到django 1.5,並且遵循本指南:Upgrade Django from 1.1 to 1.5.1除了閱讀手冊和發行說明。Django從1.1升級到1.5 auth應用程序密碼加密

但我沒想到的一件事是auth應用程序密碼加密的後向不兼容性,剛纔我發現自django 1.4以來,加密算法已經使用sha1更新爲使用PBKDF2。

由於我有大量的用戶已經註冊,我不能要求他們重新創建他們的帳戶。所以我想知道你們中的任何一個人是否有類似的問題,並找到解決方法。

請讓我知道,如果有任何解決方案,這樣我的用戶仍然有效的當前密碼。

謝謝! TS

回答

0

看一看文檔: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列表的頂部。

+0

太棒了!非常感謝!我錯過了文檔中的部分!謝謝! –