我是靠谱客的博主 光亮耳机,最近开发中收集的这篇文章主要介绍5位随机数重复的概率 php_PHP-php生成6位永不重复的随机数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

如果是做那个短地址的话,google有一个开源的shorturl API,可以生成一串不定长的数字,不知道能不能解决你的问题。

echo googlToken("www.google.com");

function googlToken($b){

$i = tke($b);

$i = $i >> 2 & 1073741823;

$i = $i >> 4 & 67108800 | $i & 63;

$i = $i >> 4 & 4193280 | $i & 1023;

$i = $i >> 4 & 245760 | $i & 16383;

$j = "7";

$h = tkf($b);

$k = ($i >> 2 & 15) << 4 | $h & 15;

$k |= ($i >> 6 & 15) << 12 | ($h >> 8 & 15) << 8;

$k |= ($i >> 10 & 15) << 20 | ($h >> 16 & 15) << 16;

$k |= ($i >> 14 & 15) << 28 | ($h >> 24 & 15) << 24;

$j .= tkd($k);

return $j;

}

function tkc(){

$l = 0;

foreach (func_get_args() as $val) {

$val &= 4294967295;

$val += $val > 2147483647 ? -4294967296 : ($val < -2147483647 ? 4294967296 : 0);

$l += $val;

$l += $l > 2147483647 ? -4294967296 : ($l < -2147483647 ? 4294967296 : 0);

}

return $l;

}

function tkd($l){

$l = $l > 0 ? $l : $l + 4294967296;

$m = "$l"; //must be a string

$o = 0;

$n = false;

for($p = strlen($m) - 1; $p >= 0; --$p){

$q = $m[$p];

if($n){

$q *= 2;

$o += floor($q / 10) + $q % 10;

} else {

$o += $q;

}

$n = !$n;

}

$m = $o % 10;

$o = 0;

if($m != 0){

$o = 10 - $m;

if(strlen($l) % 2 == 1){

if ($o % 2 == 1){

$o += 9;

}

$o /= 2;

}

}

return "$o$l";

}

function tke($l){

$m = 5381;

for($o = 0; $o < strlen($l); $o++){

$m = tkc($m << 5, $m, ord($l[$o]));

}

return $m;

}

function tkf($l){

$m = 0;

for($o = 0; $o < strlen($l); $o++){

$m = tkc(ord($l[$o]), $m << 6, $m << 16, -$m);

}

return $m;

}

?>

最后

以上就是光亮耳机为你收集整理的5位随机数重复的概率 php_PHP-php生成6位永不重复的随机数的全部内容,希望文章能够帮你解决5位随机数重复的概率 php_PHP-php生成6位永不重复的随机数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部