假設您使用內置於php中的password_hash和password_verify函數,並使用默認的哈希算法(當前爲bcrypt)。現在,鑑於這是默認設置,並且如果更改,這會影響將來的password_verify函數,不是嗎?那麼,程序員是否需要在將來編寫代碼來檢查這個問題,也就是說,如果PASSWORD_DEFAULT!= bcrypt,使用bcrypt繼續驗證過程,然後在給定新算法的情況下更新數據庫?如果默認的password_hash散列在php中得到更新,是否會影響用戶未來的登錄嘗試?
1
A
回答
3
否,更換算法或成本不會因爲算法和成本是存儲的散列的部分影響password_verify。如果你看到的是password_hash的規格,那麼它的狀態爲
所使用的算法,成本和鹽分作爲散列的一部分返回。因此,所有需要驗證散列的信息都包含在其中。這允許password_verify()函數驗證散列,而不需要單獨存儲salt或算法信息。
您可以使用password_needs_rehash http://php.net/manual/en/function.password-needs-rehash.php來檢查是否需要更新存儲的密碼。所以PHP已經爲你支持所有這些,以安全的方式對密碼進行哈希處理。
相關問題
- 1. 註釋是否會影響Java的默認序列化?
- 2. Php註冊和登錄password_hash密碼默認使用pdo
- 3. PHP登錄使用password_hash
- 4. 更新PHP是否會影響較舊的Joomla版本?
- 5. 如何刪除用戶,如果用戶不嘗試在30天內登錄php
- 6. 登錄嘗試的PHP登錄腳本
- 7. 在新的DataRow中更新值也會影響DataTable的來源?
- 8. 更新登錄用戶的得分MYSQL
- 9. 在不影響遠程登錄的情況下更改默認Unix shell
- 10. 登錄嘗試Servlet - 如果用戶全部3次登錄嘗試失敗,則禁用用戶10分鐘
- 11. 什麼是登錄到緩存終端的默認用戶
- 12. 使用PayPal(PHP)登錄 - >'默認用戶找不到憑證。'
- 13. 如何檢查是否用戶登錄與新的Facebook PHP API
- 14. 如何處理用戶登錄後的其他登錄嘗試?
- 15. Google API Javascript登錄 - 檢查用戶圖像是否爲默認
- 16. ASP.net中用於用戶登錄的默認機制是什麼?
- 17. Authlogic:如何查找用戶是否因爲用戶未登錄而未登錄
- 18. 影響登錄
- 19. 未找到與Meteor帳戶匹配的登錄嘗試oauth
- 20. 如何在用戶登錄時更改默認路由?
- 21. 用戶是否登錄? (寧靜認證)
- 22. 嘗試(3倍),在用戶登錄的PHP
- 23. 在Drupal中更改默認用戶登錄文本
- 24. Password_hash沒有散列
- 25. 如果用戶未登錄到Facebook,FB.getLoginStatus不會觸發
- 26. 新的Facebook API:使用getLoginStatus來檢測用戶是否登錄
- 27. USB調試是否會影響測試過程中的性能
- 28. 如何實現最大的登錄嘗試,而不使用默認的LoginController?
- 29. 當用戶登錄時PHP會話不會更新ou
- 30. kubernetes滾動更新是否會影響在pod中運行的應用程序?