PHPでランダムな文字列(パスワードなど)を生成する

PHPでパスワードとかハッシュとかトークンを発行するときに、ランダムな文字列がほしいときがあるのでその関数をメモしておきます。

やってることは「配列作ってランダムに文字列を取り出す」っていうのをやっているだけです。

// 使い方(12文字のランダムな文字列を生成する)
$randomStr = makeRandStr(12);

/**
 * ランダム文字列生成 (英数字)
 * $length: 生成する文字数
 */
function makeRandStr($length)
{
    $str = array_merge(range('0', '9'), range('a', 'z'), range('A', 'Z'));
    $r_str = '';
    for ($i = 0; $i < $length; $i++) {
        $r_str .= $str[rand(0, count($str) - 1)];
    }
    return $r_str;
}

時々忘れるのでメモ。

カテゴリーPHP

質問・コメントなどあると嬉しいです