php加入 Argon2 支援

第一步:安裝 libargon2 開發依賴庫

系統庫版本需

Debian / Ubuntu 系列:
sudo apt update
sudo apt install -y libargon2-dev

第二步:配置 PHP 編譯參數

根據 PHP 的具體版本,./configure 的參數格式有所不同:

1. PHP 7.4 及以上(包括 PHP 8.x)

PHP 7.4 改用 pkg-config 檢測依賴庫,參數統一為 --with-password-argon2

./configure \
  --prefix=/usr/local/php \
  --with-password-argon2 \
  [其他需要的編譯參數...]

第三步:編譯與安裝

# 根據 CPU 核心數多線程編譯
make -j$(nproc)
sudo make install

第四步:驗證 Argon2 是否成功啟用

安裝完成後,執行以下命令檢查:

  1. 檢查常數定義:
php -r 'var_dump(defined("PASSWORD_ARGON2I"), defined("PASSWORD_ARGON2ID"));'

輸出均為 bool(true) 即表示成功啟用。

  1. 檢查哈希計算功能:
php -r 'echo password_hash("password", PASSWORD_ARGON2ID) . PHP_EOL;'

輸出以 $argon2id$ 開頭的哈希字串即表示運行正常。

发表回复