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

利用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è)
欧美一区二区三区成人网| 久久最新最热视频精品| 亚洲精品不卡在线观看| 麻豆视频传媒入口在线播放 | 国产精品va在线观看入口| 国产婷婷精品一区二区| 91日韩中文字幕在线观看| 国产精品久久久毛片av| 美女丝袜诱惑国产在线观看| 日韩不卡区高清在线视频| 日本最新一区二区三区视频| 美腿丝袜清纯唯美亚洲另类| 国产亚洲精品视频中文字幕| 精品亚洲国产成人av| 国产日韩精品一区二区在线| 欧美国产日韩亚洲综合| 精品少妇熟女av免费久久| 午夜一区二区精品视频国产| 日本免费91午夜视频| 一区二区三区乱码av| 亚洲综合偷拍欧美一区色| 色婷婷精品一区二区三区| av天堂久久这里只有精品美国| 日本精品在线小视频| 欧美亚洲另类在线日韩国产| 国产精品国产三级国产专用| 亚洲中文字幕女同系列av专区| 国产深夜福利在线观看| 亚洲天堂一区二区av| 动漫美女视频在线看黄| 四虎在线免费视频播放| 欧美日韩国产精品一区二区三区| 性激烈的欧美三级男同| 天天躁日日躁夜夜躁夜夜| 91好色视频在线观看| 欧美日韩免费爱爱视频| 亚洲天堂男人的天堂狠狠操| 日本乱一区二区三区在线| 日日躁夜夜躁久久狠狠躁| 免费黄片视频大全在线播放| 日韩欧美国产精品专区|