(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
mhash_keygen_s2k — 產生金鑰
此函式自 PHP 8.1.0 起已被 _棄用_。強烈建議不要依賴此函式。
$algo
,$password
,$salt
,$length
根據給定的 algo
使用使用者提供的 password
產生金鑰。
這是 OpenPGP 文件 (» RFC 2440) 中指定的 Salted S2K 演算法。
請記住,使用者提供的密碼並不真正適合用作加密演算法中的金鑰,因為使用者通常會選擇他們可以在鍵盤上輸入的金鑰。這些密碼每個字元只使用 6 到 7 個位元(或更少)。強烈建議對使用者提供的金鑰使用某種轉換(例如這個函式)。
algo
用於建立金鑰的雜湊 ID。MHASH_hashname
常數之一。
password
使用者提供的密碼。
salt
為了建立不同的金鑰,您每次產生的金鑰都必須使用不同且夠隨機的 Salt。由於在檢查金鑰時必須知道 salt
,因此將其附加到金鑰是個好主意。Salt 的固定長度為 8 個位元組,如果您提供的位元組數較少,則會以零填充。
length
金鑰長度,以位元組為單位。
以字串形式返回產生的金鑰,如果發生錯誤則返回 false
。