php使用md5生成随机字符串

有时候我们常需要生成一些固定长度的随机字符串,比如uuid,随机字符串等

生成36位uuid

function uuid($prefix = '')  {    
    $chars = md5(uniqid(mt_rand(), true));    
    $uuid  = substr($chars,0,8) . '-';    
    $uuid .= substr($chars,8,4) . '-';    
    $uuid .= substr($chars,12,4) . '-';   
    $uuid .= substr($chars,16,4) . '-';    
    $uuid .= substr($chars,20,12);    
    return $prefix . $uuid;  
}  

echo uuid();

生成随机32位字符串

function str_rand($length = 32, $char = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') {
    if(!is_int($length) || $length < 0) {
        return false;
    }

    $string = '';
    for($i = $length; $i > 0; $i--) {
        $string .= $char[mt_rand(0, strlen($char) - 1)];
    }

    return $string;
}

echo str_rand(),

利用微秒时间戳生成32位唯一字符串

$uniqid = md5(uniqid(microtime(true),true));
echo $uniqid;

你可能感兴趣的:(php使用md5生成随机字符串)