生成(伪)随机字母数字字符串

2022-08-30 08:02:21

如何生成一个(伪)随机字母数字字符串,例如:PHP中的'd79jd8c'?


答案 1

首先用所有可能的字符创建一个字符串:

 $characters = 'abcdefghijklmnopqrstuvwxyz0123456789';

您也可以使用 range() 来更快地完成此操作。

然后,在循环中,选择一个随机数并将其用作字符串的索引以获取随机字符,并将其附加到字符串中:$characters

 $string = '';
 $max = strlen($characters) - 1;
 for ($i = 0; $i < $random_string_length; $i++) {
      $string .= $characters[mt_rand(0, $max)];
 }

$random_string_length是随机字符串的长度。


答案 2

我喜欢这个工作功能

function randomKey($length) {
    $pool = array_merge(range(0,9), range('a', 'z'),range('A', 'Z'));

    for($i=0; $i < $length; $i++) {
        $key .= $pool[mt_rand(0, count($pool) - 1)];
    }
    return $key;
}

echo randomKey(20);

推荐