算法原理
現在的短地址網站基本都是通過ASP或者PHP轉向來實現網址縮短。
算法一
1)將長網址md5生成32位簽名串,分為4段, 每段8個位元組;
2)對這四段循環處理, 取8個位元組, 將他看成16進制串與0x3fffffff(30位1)與操作, 即超過30位的忽略處理;
3)這30位分成6段, 每5位的數字作為字母表的索引取得特定字元, 依次進行獲得6位字元串;
4)總的md5串可以獲得4個6位串; 取裡面的任意一個就可作為這個長url的短url地址;
算法二
a-z,A-Z,0-9,這62位取6位組合,可產生500多億個組合數量。把數字和字元組合做一定的映射,就可以產生唯一的字元串,如第62個組合就是aaaaa9,第63個組合就是aaaaba,再利用洗牌算法,把原字元串打亂後保存,那么對應位置的組合字元串就會是無序的組合。
把長網址存入資料庫,取返回的id,找出對應的字元串,例如返回ID為1,那么對應上面的字元串組合就是bbb,同理 ID為2時,字元串組合為bba,依次類推,直至到達64種組合後才會出現重複的可能,所以如果用上面的62個字元,任意取6個字元組合成字元串的話,你的數據存量達到500多億後才會出現重複的可能。
操作方法
現在提供短地址服務縮短的有很多,根據網站相應的提示即可操作。一般操作是在轉址站的指定輸入框內直接提交你的長網址,就可以得到變化後的短地址了。