PHP を使用してアプリケーション、特に Web サイト プログラムを開発する場合、多くの場合、ランダム パスワードの生成が必要になります。たとえば、ユーザーの登録時にランダム パスワードが生成されます。ユーザーがパスワードをリセットしたとき。ランダムなパスワードは固定長の文字列です。ここでは、参考のためにランダムな文字列を生成するいくつかの方法を集めました。
方法 1:
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 を対応する文字に変換します。
{ $randpwd = ''; for ($i = 0; $i <$pw_length; $i++) { $randpwd .= chr(mt_rand(33, 126)); } return $randpwd; } // この関数を呼び出し、長さパラメータを渡します $pw_length = 6 |
function generate_password( $length = 8 ) { $password = ''; return $password; |
<🎜>function generated_password( $length = 8 ) { // パスワード文字セット、必要な文字を追加できます $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<🎜>~`+=,.;:/?';<🎜> <🎜> $password = ''; for ( $i = 0; $i < $length; $i++ ) { // 文字を取得するには 2 つの方法があります //> //最初のものは、subststrを使用して$ chars; $ chars、mt_rand(0、strlen($ chars)-1)、1); $パスワードで挿入することです。 = $chars[ mt_rand(0, strlen($chars) - 1) 🎜> <🎜> $password を返す; }<🎜> |
function make_password( $length = 8 ) $chars = array('a', 'b', 'c' 、'd'、'e'、'f'、'g'、'h'、
「E」、「F」、「G」、「H」、「I」、「J」、「K」、「L」 '、'M'、'N'、'O'、 'P'、'Q'、'R'、'S'、'T'、'U'、'V'、'W'、' X'、'Y'、'Z'、 '0'、'1'、'2'、'3'、'4'、'5'、'6'、'7'、'8'、 '9 '、'!'、 '@'、'#'、'$'、'%'、'^'、'&'、'*'、'('、')'、'-' 、' _'、'['、']'、'{'、'}'、'<'、'>'、'~'、'`'、'+'、'='、 ', ', '.', ';', ':', '/', '?', '');
); $password = ''; for($i = 0; $i < $length; $i++) {// $length の配列要素を文字列に連結します $パスワード .= $chars[$keys[$i]];} return $password; }
|
function getmicrotime()<🎜>{<🎜> list($usec, $sec) =explode(" ",microtime());<🎜> return ((float)$usec + (float)$sec);<🎜>}<🎜> <🎜>// 記録開始時刻<🎜>$time_start = getmicrotime();<🎜> <🎜>// ここに実行する PHP コードを入れます。例:<🎜>// echo create_password(6);<🎜> <🎜>// 記録終了時刻<🎜>$time_end = getmicrotime();<🎜>$time = $time_end - $time_start;<🎜> <🎜> // 合計実行時間を出力します <🎜>echo "実行時間 $time 秒";<🎜>?> |