首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 生成隨機密碼函數:可自定義字符集、長度、極簡高效實現

     編輯:PHP 綜合知識

核心函數

function getRandPass($length = 6) {
    $chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $password = '';
    $max = strlen($chars) - 1;
    for ($i = 0; $i < $length; $i++) {
        $password .= $chars[mt_rand(0, $max)];
    }
    return $password;
}
echo getRandPass(12); // 12位隨機密碼

安全加強版(PHP 7+)

function getSecurePass($length = 16) {
    $chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*';
    $bytes = random_bytes($length);
    $password = '';
    for ($i = 0; $i < $length; $i++) {
        $password .= $chars[$bytes[$i] % strlen($chars)];
    }
    return $password;
}
  • 使用 random_bytes() (CSPRNG) 替代 mt_rand(),密碼學安全。
  • 字符集加入特殊符號提高熵值。

使用建議

  • 用戶註冊初始密碼、API Token、臨時訪問碼等場景。
  • 生成後務必**安全存儲**(BCrypt/Argon2 哈希),不可明文日誌/郵件發送。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved