php生成短域名函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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 * '0x' . $hex_num );
$n = $num % $strlen ;
$code .= $hex_code [ $n ];
}
return $code ;
}
|
以上所述就是本文给大家分享的代码的全部内容了,希望大家能够喜欢。