PHP生成随机字符串

php

浏览数:313

2019-1-7

function RandomToken($length = 32){
    if(!isset($length) || intval($length) <= 8 ){
        $length = 32;
    }
    if (function_exists('openssl_random_pseudo_bytes')) {
        return bin2hex(openssl_random_pseudo_bytes($length));
    }

    if (function_exists('random_bytes')) {
        return bin2hex(random_bytes($length));
    }
    if (function_exists('mcrypt_create_iv')) {
        return bin2hex(mcrypt_create_iv($length, MCRYPT_DEV_URANDOM));
    }

    $rand = '';
    for($i = 0, $num = ceil($length/32) * 2;$i<=$num;$i++){
        $rand .= md5(uniqid());
    }
    return substr($rand,0,$length*2);
}