PHP生成八位隨機字符串

<?php
// 當前的毫秒時間戳
function msectime(){
	$arr = explode(' ', microtime());
	$tmp1 = $arr[0];
	$tmp2 = $arr[1];
    return (float)sprintf('%.0f', (floatval($tmp1) + floatval($tmp2)) * 1000);
}
// 10進制轉62進制
function dec62($dec){
	$base = 62;
	$chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
	$ret = '';
	for($t = floor(log10($dec) / log10($base)); $t >= 0; $t--){
		$a = floor($dec / pow($base, $t));
		$ret .= substr($chars, $a, 1);
		$dec -= $a * pow($base, $t);
	}
	return $ret;
}
// 隨機字符
function rand_char(){
	$base = 62;
	$chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
	return $chars[mt_rand(1, $base) - 1];
}
$str_time = dec62(msectime());
// 8位隨機字符串
$code = rand_char().$str_time;
var_dump($code);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章