2024 年日本 PHP 研討會

預定義常數

以下常數始終作為 PHP 核心的一部分提供。

PASSWORD_BCRYPT (字串)

PASSWORD_BCRYPT 用於使用 CRYPT_BLOWFISH 演算法建立新的密碼雜湊。

這將始終產生使用「$2y$」crypt 格式的雜湊,該格式始終為 60 個字元寬。

支援的選項

  • salt (字串) - 手動提供用於雜湊密碼的鹽值。請注意,這將覆蓋並防止自動產生鹽值。

    如果省略,password_hash() 將為每個雜湊的密碼產生隨機鹽值。這是預期的操作模式,並且從 PHP 7.0.0 開始,salt 選項已被棄用。

  • cost (整數) - 表示應使用的演算法成本。這些值的範例可以在 crypt() 頁面上找到。

    如果省略,將使用預設值 10。這是一個良好的基準成本,但您可能需要根據您的硬體考慮增加它。

PASSWORD_BCRYPT_DEFAULT_COST (整數)

PASSWORD_ARGON2I (字串)

PASSWORD_ARGON2I 用於使用 Argon2i 演算法建立新的密碼雜湊值。

支援的選項

自 PHP 7.2.0 起可用。

PASSWORD_ARGON2ID (字串)

PASSWORD_ARGON2ID 用於使用 Argon2id 演算法建立新的密碼雜湊值。它支援與 PASSWORD_ARGON2I 相同的選項。

自 PHP 7.3.0 起可用。

PASSWORD_ARGON2_DEFAULT_MEMORY_COST (整數)

嘗試計算雜湊時將使用的預設記憶體量(以位元組為單位)。

自 PHP 7.2.0 起可用。

PASSWORD_ARGON2_DEFAULT_TIME_COST (整數)

嘗試計算雜湊時將花費的預設時間量。

自 PHP 7.2.0 起可用。

PASSWORD_ARGON2_DEFAULT_THREADS (整數)

Argon2lib 將使用的預設執行緒數。libsodium 實作不提供此選項。

自 PHP 7.2.0 起可用。

PASSWORD_ARGON2_PROVIDER (字串)

自 PHP 7.4.0 起可用。

PASSWORD_DEFAULT (字串)

如果未提供演算法,則用於雜湊的預設演算法。當支援更新、更強的雜湊演算法時,這可能會在較新的 PHP 版本中更改。

值得注意的是,隨著時間推移,這個常數可能會改變。因此務必了解,結果雜湊的長度也可能改變。所以,當使用 PASSWORD_DEFAULT 時,產生的雜湊必須以能夠儲存任意長度雜湊的方式儲存,建議的寬度是 255 位元組。

目前是 PASSWORD_BCRYPT 的別名。

更新日誌

版本 說明
7.4.0 密碼演算法 ID 的值(PASSWORD_BCRYPTPASSWORD_ARGON2IPASSWORD_ARGON2IDPASSWORD_DEFAULT)現在是字串。之前,它們是整數

新增註解

使用者貢獻的註解

此頁面沒有使用者貢獻的註解。
To Top