ランダムなパスワードを生成するには多くの方法があります。最も簡単なのは、php mt_rand() 関数を使用して数値の文字列を直接生成することです。次に、ランダムなパスワードを生成する php プログラムを紹介します。最も簡単な方法は mt_rand 関数です。
mt_rand() は、メルセンヌ ツイスター アルゴリズムを使用してランダムな整数を返します。
例
この場合、いくつかの乱数を返します:
コードは次のとおりです
| コードをコピー
|
echo(mt_rand());
echo(mt_rand());
echo(mt_rand(10,100));
?>
出力は次のようになります:
3150906288
513289678
35
|
上記の安全性指標はすべて数値であるため、比較的低いです。別の指標もあります
。
1. a – z、A – Z、0 – 9、およびいくつかの特殊文字を含む文字列 $chars をプリセットします
2. $chars 文字列からランダムな文字を選択します
コードは次のとおりです
| コードをコピー
|
関数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) ];
}
$パスワードを返す
}
友人が提供した md5() 関数の戻り値のため、生成されるパスワードには文字と数字のみが含まれますが、それでも良い方法です。アルゴリズム的思考:
1. time() は現在の Unix タイムスタンプを取得します |
2. 最初のステップで取得したタイムスタンプを md5() で暗号化します
3. 2 番目のステップの暗号化結果を使用し、n 桁を傍受して目的のパスワードを取得します
コードは次のとおりです
コードをコピー
|
関数 get_password( $length = 8 ) |
{
$str = substr(md5(time()), 0, 6);
$str;を返します
}
|
http://www.bkjia.com/PHPjc/631273.htmlwww.bkjia.com
truehttp://www.bkjia.com/PHPjc/631273.html技術記事ランダムなパスワードを生成する方法はたくさんありますが、最も簡単な方法は、php mt_rand() 関数を使用して数値の文字列を直接生成することです。次に、php でランダムなパスワード プログラムを生成する最も簡単な方法を紹介します。