作者:诚心诚意1997_514 | 来源:互联网 | 2018-03-24 19:54
跳至
public function createRandCode($string) {
$code = '';
$hex_code = '1qaz2wsx3edc4rfv5t-gb6yhn7ujm8ik9ol0p_';
$now = microtime(true) * 10000;
$strlen = strlen($hex_code);
$hash_code = hash('sha256', $string);
// 这里会为编码定义一个随机的长度,长度取决于step
$step = rand(8, 16);
$count = ceil(strlen($hash_code) / $step);
for($i = 0; $i <$count; $i++) {
$start = $i * $step;
$hex_num = substr($hash_code, $start, $step);
$num = 0x3fffffff & (1 * &#39;0x&#39; . $hex_num);
$n = $num % $strlen;
$code .= $hex_code[$n];
}
return $code;
}