php 安全随机发生器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 安全随机发生器相关的知识,希望对你有一定的参考价值。

public function getToken($length) {
    $token = "";
    $codeAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $codeAlphabet .= "abcdefghijklmnopqrstuvwxyz";
    $codeAlphabet .= "1234567890";
    $max = strlen($codeAlphabet);
    for ($i = 0; $i < $length; $i++) {
        $token .= $codeAlphabet[$this->secure_rand(0, $max - 1)];
    }
    return $token;
}

private function secure_rand($min, $max) {
    $range = $max - $min;
    if ($range < 1) return $min;
    $log = ceil(log($range, 2));
    $bytes = (int)($log / 8) + 1;
    $bit = (int)$log + 1;
    $filter = (int)(1 << $bit) - 1;
    do {
        $rnd = hexdec(bin2hex(openssl_random_pseudo_bytes($bytes)));
        $rnd = $rnd & $filter;
    } while ($rnd > $range);
    return $min + $rnd;
}

以上是关于php 安全随机发生器的主要内容,如果未能解决你的问题,请参考以下文章

PHP 随机传递发生器

PHP 简单随机传递发生器

PHP 随机颜色发生器

PHP 随机数发生器

一个随机数发生器 用于在服务器和客户机直接进行安全性验证的类

PHP 中的安全随机数生成