ランダムなパスワードを生成したい場合、最初に uniquid() 関数を使用することを考えるかもしれませんが、array_rand() と range() を使用すると、この関数をより完璧に実現できます。
方法1、
コードは次のとおりです | コードをコピー |
header("コンテンツタイプ: text/html; charset=utf-8"); 関数 ranCode($length) { エコー「www.bKjia.c0m」; |
方法2、
1. 33 ~ 126 のランダムな整数を生成します (例: 35)。
2. 35 を対応する ASCII コード文字に変換します (#に対応する 35 など)。
3. 上記の手順 1 と 2 を n 回繰り返して、n 桁のパスワードに接続しますこのアルゴリズムは主に 2 つの関数を使用します。mt_rand (int $min, int $max) 関数はランダムな整数を生成するために使用されます。$min – $max は ASCII コードの範囲です。範囲は 33 ~ 126 です。たとえば、ASCII コード表の 97 ~ 122 ビットは、英語の文字 a ~ z に対応します。詳細については、ASCII コード表を参照してください。変換には chr (int $ascii) 関数が使用されます。対応する整数 $ascii を対応する文字に変換します。
コードをコピー | |
関数 create_password($pw_length = 8) { $randpwd = ''; for ($i = 0; $i < $pw_length; $i++) { $randpwd .= chr(mt_rand(33, 126)); } $randpwd を返す; } // この関数を呼び出し、長さパラメータ $pw_length = 6 を渡します echo create_password(6);
|
コードは次のとおりです | コードをコピー |
//ユーザーのランダムなユーザー名 (長さ 6 ~ 13) を自動的に生成します function create_password($pw_length = 4){ $randpwd = ''; for ($i = 0; $i < $pw_length; $i++){ $randpwd .= chr(mt_rand(33, 126)); } $randpwd を返す; } function generated_username( $length = 6) { // パスワードの文字セット。必要な文字を追加できます $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|'; $password = ''; for ( $i = 0; $i {
_ // $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);$password .= $chars[ mt_rand(0, strlen($chars) - 1) ]; } $password を返す; } // この関数を呼び出します $userId = 'user'.generate_username(6); $pwd = create_password(9);
|