短地址实现原理
2024-04-10 04:30:45  阅读数 601

短地址(也叫 短网址:Short URL)就是为了让一个很长的网站链接缩短为一个短的链接。

算法原理

短地址网站基本都是通过后端服务转向来实现网址缩短。

算法一

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多亿后才会出现重复的可能。


操作方法

提供短地址服务缩短的有很多,根据网站相应的提示即可操作。

一般操作是在转址站的指定输入框内直接提交你的长网址,就可以得到变化后的短地址了。