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

利用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://www.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高清视频| 日韩精品国产专区一区| 五月爱婷婷六月爱丁香色| 中文字幕中出亚洲精品| 国产国语网站在线观看| 欧美久久精品在线观看| 一区二区五区日韩国产| 日本免费高清一区二区| 熟妞人妻精品一区二区视频| 成年人性生活一级视品| av熟女一区二区三区| 女同蝴蝶在线看完整版| 天天躁日日躁夜夜躁夜夜| 国产老熟女不带套91| 中国人妻一区二区三区| 亚洲欧美精品专区极品| 国产精品大片久久激情四射| 日韩一区二区中文字幕| 夫妻晚上同房太猛视频| 日韩精品成人区中文字幕| 亚洲精品麻豆一区二区| 线上免费看黄色亚洲片| 99亚洲综合一区二区三区| 日本高清三级精品一区二区| 天天做日日干夜夜操| 高清av中文免费在线| 欧美欧美一区二区三区|