專業(yè)的短鏈接生成工具
鏈接域名
短網(wǎng)址有效期
短鏈接算法原理詳解
更新時(shí)間:2025-4-4 12:35:37 作者:愛短鏈
短鏈接的算法是什么,短鏈接生成的原理是什么,很多伙伴都在資訊這個(gè)問題。那么今天愛短鏈小編就幫大家?guī)碓敿?xì)的介紹,相信你看了之后就會(huì)明白的。
短鏈接算法
MD5的生成的 ,其實(shí)這個(gè)算法主要是把長(zhǎng)字符串變小 ,這個(gè)算法是不可逆的,所以別想著去直接反轉(zhuǎn)短地址
利用MD5的算法,其具體過程為:
1. 將原始長(zhǎng)鏈接進(jìn)行MD5加密,為了避免防止算法泄漏,可以在原鏈接上添加自定義的字符串作為密鑰。
2. 把128位的MD分成四組,每組32位,對(duì)應(yīng)一個(gè)候選短鏈接。
3. 對(duì)于每個(gè)32位的數(shù),將它與0x3FFFFFFF進(jìn)行位與運(yùn)算,取其低30位的數(shù)據(jù)。把得到的值與0x0000003D進(jìn)行位與運(yùn)算,再把得到的結(jié)果作為下標(biāo)在字符表中選取字符,再把原數(shù)字右移5位進(jìn)行相同操作,重復(fù)進(jìn)行6次得到6個(gè)字符,即組成一個(gè)候選短鏈接地址。
4. 在4個(gè)候選短鏈接中隨機(jī)選擇一個(gè)作為最終的短鏈接,把長(zhǎng)短鏈接映射關(guān)系存入數(shù)據(jù)庫(kù)中。
短鏈接生成
服務(wù)器收到一個(gè)短鏈接請(qǐng)求時(shí),需要把從http地址中解析出短鏈接,然后將得到的短鏈接在數(shù)據(jù)庫(kù)中進(jìn)行查詢,找到其對(duì)應(yīng)的長(zhǎng)連接,進(jìn)而重定向到該長(zhǎng)長(zhǎng)鏈接對(duì)應(yīng)的地址。另外,服務(wù)器在此時(shí)可以隨意進(jìn)行一些需要的統(tǒng)計(jì)工作。
算法本質(zhì)上就是一個(gè)長(zhǎng)短鏈接的映射過程,那么一個(gè)簡(jiǎn)單的想法是用遞增的序號(hào)來表示短鏈接,每次進(jìn)來一個(gè)長(zhǎng)鏈接時(shí),把它映射成當(dāng)前的序號(hào),同時(shí)把序號(hào)遞增以供下一個(gè)鏈接使用。因?yàn)殒溄拥刂吠瑫r(shí)使用的是a-z、A-Z和0-9這62個(gè)字符,把10進(jìn)制的序號(hào)值轉(zhuǎn)化為這個(gè)62進(jìn)制的表示即可得到對(duì)應(yīng)的短鏈接。
這個(gè)直接的想法非常簡(jiǎn)單粗暴,另外一個(gè)直觀的想法是使用隨機(jī)的方法生成長(zhǎng)短鏈接的映射關(guān)系。每次進(jìn)來一個(gè)長(zhǎng)鏈接時(shí)就隨機(jī)一個(gè)短鏈接來進(jìn)行映射,如果通過數(shù)據(jù)庫(kù)查詢發(fā)現(xiàn)此短鏈接已經(jīng)使用過,則重新進(jìn)行隨機(jī)直到產(chǎn)生一個(gè)未曾使用過的短鏈接為止。
由上面可知,純粹在本地生成的短鏈接是沒有作用的。因?yàn)槎替溄有枰馕?,需要跳轉(zhuǎn)到短鏈接解析服務(wù)器,然后在服務(wù)器上查找對(duì)應(yīng)的長(zhǎng)鏈接,最后才可以進(jìn)行對(duì)應(yīng)的跳轉(zhuǎn)。如果純粹在本地生產(chǎn)的短鏈接,服務(wù)器上沒有響應(yīng)的數(shù)據(jù),則是不能進(jìn)行正常訪問的。
愛短鏈平臺(tái)各工具使用方法及功能匯總 | |
短鏈接 | 活碼 |
微信外鏈 | 抖音卡片 |