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 ; } |
以上所述就是本文给大家分享的代码的全部内容了,希望大家能够喜欢。