ホームページ  >  記事  >  バックエンド開発  >  いくつかのランダムなパスワード生成方法_PHP チュートリアル

いくつかのランダムなパスワード生成方法_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:10:201535ブラウズ

ランダムパスワードは非常にシンプルですが、それを追跡する方法はたくさんあります。それらはすべて特別な文字列で構成されています。次の 3 つの方法を見てみましょう。

方法 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 を対応する文字に変換します。

コードは次のとおりですコードをコピー
関数 create_password($pw_length = 8)

{
$randpwd = '';
for ($i = 0; $i {
$randpwd .= chr(mt_rand(33, 126));
}
$randpwd を返します;
}

// この関数を呼び出し、長さパラメータ $pw_length = 6 を渡します

echo create_password(6);

方法 2:

1. a – z、A – Z、0 – 9、およびいくつかの特殊文字を含む文字列 $chars をプリセットします

2. $chars 文字列からランダムな文字を選択します

3. 2 番目のステップを n 回繰り返して、長さ n のパスワードを取得します

コードは次のとおりですコードをコピー

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 を対応する文字に変換します。

関数generate_password( $length = 8 ) {

// パスワード文字セット。必要な文字を追加できます
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|';

$パスワード = '';

for ( $i = 0; $i {
//キャラクターの入手方法は2通りあります
// 1 つ目は、substr を使用して $chars 内の文字をインターセプトすることです。 // 2 つ目は、文字配列 $chars の任意の要素を取得することです
// $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
$password .= $chars[ mt_rand(0, strlen($chars) - 1) ];
}

$password を返します;

}


コードは次のとおりですコードをコピー
関数 create_password($pw_length = 8)

{
$randpwd = '';
for ($i = 0; $i {
$randpwd .= chr(mt_rand(33, 126));
}
$randpwd を返します;
}

// この関数を呼び出し、長さパラメータ $pw_length = 6 を渡します

echo create_password(6);

方法 2:

1. a – z、A – Z、0 – 9、およびいくつかの特殊文字を含む文字列 $chars をプリセットします

2. $chars 文字列からランダムな文字を選択します

3. 2 番目のステップを n 回繰り返して、長さ n のパスワードを取得します

コードは次のとおりですコードをコピー
関数generate_password( $length = 8 ) {

// パスワード文字セット。必要な文字を追加できます
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|';

$パスワード = '';

for ( $i = 0; $i {
//キャラクターの入手方法は2通りあります
// 1 つ目は、substr を使用して $chars 内の文字をインターセプトすることです。 // 2 つ目は、文字配列 $chars の任意の要素を取得することです
// $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
$password .= $chars[ mt_rand(0, strlen($chars) - 1) ];
}

$password を返します;

}



http://www.bkjia.com/PHPjc/629672.html

tru​​ehttp://www.bkjia.com/PHPjc/629672.html技術記事ランダムなパスワードは非常に単純ですが、それに従う方法は数多くあります。それらはすべて特別な文字列で構成されています。次の 3 つの方法を見てみましょう。 方法 1: 1. 33 126 で...
を生成します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。