一、短地址简介
短地址(又叫做短网址 short URL)是为了让一个很长的网站链接缩短为一个很短的链接。
之所以产生短地址,是因为微博内有字数限制,短地址就是为了配合微博内的字数限制而产生的。现在大部分的微博、手机邮件体型等地方已经有很多应用模式了,并且占据一定的市场。
二、短地址算法原理
算法一:
1、将长地址 MD5生成 32位签名串,分为4 端,每段 8个字节;
2、将这四段循环处理,取8 个字节,将其看作是 16进制串与 0 * 3FFFFFFF(30位1)与操作,即超过 30位忽略处理;
3、这 30位分成 6段,每 5位的数字作为字母表的索引取得特定字符,依次进行获得 6位字符串;
4、总的 MD5串可以获得 4个6位串,取里面任意一个就可以作为这个长网址的短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多亿后才会出现重复的可能。
三、实际操作
转换短地址并不需要自己一点一点去计算转换,可以借助转换短地址网页满足转换的需要。
较为常用而且方便的转换网站:https://dwz.cn/
参考资料:https://baike.baidu.com/item/%E7%9F%AD%E5%9C%B0%E5%9D%80/2760921?fr=aladdin