1、缘由:
Short URL ------ 为了让一个很长的网站链接缩短为一个短的链接,因为微博内有字数限制,所以短地址就是为了这个而产生的
2、算法原理:
基本都是通过ASP或者PHP转向来实现网址缩短
算法1:
- 将长网址md5生成32位签名串,分为4段, 每段8个字节;
- 对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理;
- 这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串;
- 总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址;
算法2:
a-zA-Z0-9 这64位取6位组合,可产生500多亿个组合数量.把数字和字符组合做一定的映射,就可以产生唯一的字符串,如第62个组合就是aaaaa9,第63个组合就是aaaaba,再利用洗牌算法,把原字符串打乱后保存,那么对应位置的组合字符串就会是无序的组合。
扩展阅读: