簡體   English   中英

PHP 重寫密碼散列 function 使用什么算法?

[英]PHP rewriting password hashing function what algo to use?

我正在重寫我的密碼散列 function。

它目前使用 sha1。

我正在考慮使用sha512。

我認為 sha512 是 sha2 是否正確?

這是目前散列密碼的標准還是我應該使用另一種散列算法?

我建議對 hash 密碼使用 bcrypt。

該站點提供了有關該問題的一些良好背景: http://codahale.com/how-to-safely-store-a-password/

SHA-2使用四種不同的位大小:

hash 函數具有 224、256、384 或 512 位的摘要。

足以說明 bcrypt 或 SHA-512 是否足夠好。 答案是肯定的,任何一種算法都足夠安全,以至於通過實施缺陷而不是密碼分析會發生違規行為。

如果你堅持要知道哪個“更好”,SHA-512 已經被 NIST 和其他人深入研究過。 這很好,但已經認識到缺陷,雖然現在無法利用,但已導致新的 hash 算法的 SHA-3 競爭。 另外,請記住,hash 算法的研究比密碼“更新”,密碼學家仍在學習它們。

盡管 bcrypt 作為一個整體並沒有像 Blowfish 本身那樣受到嚴格的審查,但我相信基於具有易於理解的結構的密碼可以為其提供一些基於哈希的身份驗證所缺乏的固有安全性。

因此,我對 bcrypt 的建議源於以下假設:1) hash 函數的 SHA-2 系列具有更好的審查,2) 密碼的密碼分析方法比 hash 函數的密碼分析方法開發得更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM