密碼雜湊函式

在 PHP 5.5 之前,你可以使用相容包來提供 password_*功能。如果能夠這樣做,強烈建議你使用相容包。

無論有沒有相容包,通過 crypt() 正確的 Bcrypt 功能都依賴於 PHP 5.3.7+, 否則你必須將密碼限制為僅限 ASCII 的字符集。

注意: 如果你使用 PHP 5.5 或更低版本,則使用不受支援的 PHP 版本,版本不再接收任何安全更新。儘快更新,之後可以更新密碼雜湊值。

演算法選擇

安全演算法

不安全的演算法

以下雜湊演算法不安全或不適合用途,因此不應使用。它們從不適合密碼雜湊,因為它們是為快速摘要而設計的,而不是緩慢而難以強制密碼雜湊。

如果你使用其中任何一個,甚至包括鹽,你應該切換到推薦的安全演算法之一**,儘快**。

演算法被認為是不安全的:

有些演算法可以安全地用作訊息摘要演算法來證明真實性,但絕不能用作密碼雜湊演算法

  • SHA-2
  • SHA-3

注意,強大的雜湊值如 SHA256 和 SHA512 是完整且穩健的,但是使用 bcryptargon2 雜湊函式通常更安全,因為對這些演算法的暴力攻擊對於經典計算機來說要困難得多。