熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

微博短鏈接算法PHP版本

2022-06-13   來源: PHP編程 

    思路

  
)將長網址md生成位簽名串分為每段個字節

  
)對這四段循環處理個字節將他看成進制串與xfffffff()與操作即超過位的忽略處理

  
)這位分成位的數字作為字母表的索引取得特定字符依次進行獲得位字符串

  
)總的md串可以獲得位串取裡面的任意一個就可作為這個長url的短url地址

  
下面是PHP代碼

  
function shorturl($url= $prefix= $suffix=) {

  
$base = array (

  
a b c d e f g h

  
i j k l m n o p

  
q r s t u v w x

  
y z )

  
$hex = md($prefix$url$suffix)

  
$hexLen = strlen($hex)

  
$subHexLen = $hexLen /

  
$output = array()

  
for ($i = $i < $subHexLen $i++) {

  
$subHex = substr ($hex $i * )

  
$int = xFFFFFFF & ( * (x$subHex))

  
$out =

  
for ($j = $j < $j++) {

  
$val = xF & $int

  
$out = $base[$val]

  
$int = $int >>

  
}

  
$output[] = $out

  
}

  
return $output

  
}

  
$urls = shorturl()

  
var_dump($urls)


From:http://tw.wingwit.com/Article/program/PHP/201311/20962.html
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.