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 ; } |
以上所述就是本文給大家分享的代碼的全部內容了,希望大家能夠喜歡。