欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

利用php怎么實現(xiàn)一個微博短鏈接算法-創(chuàng)新互聯(lián)

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)利用php怎么實現(xiàn)一個微博短鏈接算法,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

10年積累的做網(wǎng)站、網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先做網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有云縣免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

思路:
1)將長網(wǎng)址md5生成32位簽名串,分為4段, 每段8個字節(jié);
2)對這四段循環(huán)處理, 取8個字節(jié), 將他看成16進制串與0x3fffffff(30位1)與操作, 即超過30位的忽略處理;
3)這30位分成6段, 每5位的數(shù)字作為字母表的索引取得特定字符, 依次進行獲得6位字符串;
4)總的md5串可以獲得4個6位串; 取里面的任意一個就可作為這個長url的短url地址;
下面是PHP代碼:


復(fù)制代碼 代碼如下:


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', '0', '1', '2', '3', '4', '5');
$hex = md5($prefix.$url.$suffix);
$hexLen = strlen($hex);
$subHexLen = $hexLen / 8;
$output = array();
for ($i = 0; $i < $subHexLen; $i++) {
$subHex = substr ($hex, $i * 8, 8);
$int = 0x3FFFFFFF & (1 * ('0x'.$subHex));
$out = '';
for ($j = 0; $j < 6; $j++) {
$val = 0x0000001F & $int;
$out .= $base[$val];
$int = $int >> 5;
}
$output[] = $out;
}
return $output;
}
$urls = shorturl('/tupian/20230522/&
var_dump($urls);



結(jié)果


復(fù)制代碼 代碼如下:


array(4) {
[0]=>
string(6) "alms1l"
[1]=>
string(6) "2ipmby"
[2]=>
string(6) "avo1hu"
[3]=>
string(6) "fdlban"
}



另外一個版本:


復(fù)制代碼 代碼如下:


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","0","1","2","3","4","5",
"6","7","8","9","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 = md5($prefix.$url.$suffix);
$hexLen = strlen($hex);
$subHexLen = $hexLen / 8;
$output = array();
for ($i = 0; $i < $subHexLen; $i++) {
$subHex = substr ($hex, $i * 8, 8);
$int = 0x3FFFFFFF & (1 * ('0x'.$subHex));
$out = '';
for ($j = 0; $j < 6; $j++) {
$val = 0x0000003D & $int;
$out .= $base[$val];
$int = $int >> 5;
}
$output[] = $out;
}
return $output;
}



結(jié)果:


復(fù)制代碼 代碼如下:


array(4) {
[0] =>
string(6) "6jmMVj"
[1] =>
string(6) "2EnIby"
[2] =>
string(6) "6vIVfu"
[3] =>
string(6) "B7Fb6n"
}



但是升級版本碰撞率反而更高了,不知道為什么。
測試碰撞的測試代碼:


復(fù)制代碼 代碼如下:


$result = array();
$repeats= array();
$loop = 20000;
for($i=0;$i<$loop;$i++){
$url = '/tupian/20230522/id=&
$shorta = shorturl($url);
$short = $shorta[0];
if(in_array($short, $result)){
$repeats[] = $short;
}
$result[] = $short;
}
$result = array();
for($i=0;$i<$loop;$i++){
$url = '/tupian/20230522/id=&
$shorta = shorturl($url);
$short = $shorta[0];
if(in_array($short, $repeats)){
$result[$short][] = $url;
}
}
var_dump($repeats);
var_dump($result);


上述就是小編為大家分享的利用php怎么實現(xiàn)一個微博短鏈接算法了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁題目:利用php怎么實現(xiàn)一個微博短鏈接算法-創(chuàng)新互聯(lián)
當前鏈接:http://aaarwkj.com/article16/dgdcdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、企業(yè)建站、面包屑導(dǎo)航域名注冊、定制網(wǎng)站、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
偷拍一区二区三区免费| 在线观看国产高清自拍| 日本高清免费播放一区二区| 精品日韩av一区二区三区| 丰满人妻被猛烈进入中文版| 开心激情欧美一区二区| 午夜久久精品国产亚洲av| 国产一级黄色录像大片| 水蜜桃成人在线视频免费观看| 国产午夜亚洲精品福利| 日本高清不卡中文字幕| 亚洲禁看av一区不卡| 国模一区二区三区视频| 欧美三级欧美一级视频看| 国产精品中文字幕第一页| 日韩在线观看视频有码| 日韩欧美短视频在线观看| 日本一区二区日本一区| 亚洲av色男人天堂网| 久久免费看少妇高潮免费| 国产成人亚洲精品专区高清| 午夜影院在线观看网站| 国产产品在线免费看91| 中日韩一二三四区在线看| 日本激情人妻一区二区| 日本一区二区三区日本| 最新欧美精品一区二区| 亚洲精品日韩一区二区| 日韩美女后入式在线视频| 日韩高清在线亚洲专区不卡| 99亚洲综合一区二区三区| 免费看男人添女人无遮挡| 中文字幕日韩高清乱码| 国产传媒在线视频免费| 亚洲国产精品成人久久蜜臀| 久久日韩精品人妻一区二区| 成人性生活毛片免费视频| 国产毛片精品一区内射| 亚洲精品自拍一二三四区| 91精品麻豆国产自产在线| 久久久久四虎国产精品|