功能特性
- 可配置長度 (4-50)、數量 (1-100)
- 規則精細控制:字母 (可選/必須/必須大小寫)、數字、特殊字符
- 批量生成介面
batchGenerate()
核心代碼片段
<?php
class GeneratePassword {
private $_rule = ['letter'=>1, 'number'=>1, 'special'=>1];
private $_length = 8;
private $_num = 1;
private $_special = '!@#$%^&*()_+=-';
public function __construct($length=8, $num=1, $rule=[], $special='') {
// 參數驗證與賦值...
}
public function batchGenerate() {
$passwords = [];
for ($i=0; $i<$this->_num; $i++) {
$passwords[] = $this->generate();
}
return $passwords;
}
private function generate() {
// 1. 根據規則構建字符池
// 2. 強制包含必須字符類型
// 3. 隨機填充至指定長度
// 4. 打亂順序返回
}
}
?>
規則配置說明
| 類型 | 值 | 含義 |
| letter | 1-5 | 1可選 2必須 3必須小寫 4必須大寫 5大小寫皆必須 |
| number | 1-2 | 1可選 2必須 |
| special | 1-2 | 1可選 2必須 |
使用示例
<?php
$gen = new GeneratePassword(12, 5, [
'letter' => 5, // 大小寫必須
'number' => 2, // 必須含數字
'special' => 2 // 必須含特殊字符
]);
print_r($gen->batchGenerate());
/*
Array
(
[0] => kL8#mP2@qW9!
[1] => Xy5$zR3*uT6%
...
)
*/
?>