摘要: 今天遇到了一个将长链接转化成短链接的问题,苦思没有得到较好的无重复url的方案,遂到网上查了一个。算法大致如下:1)将长网址md5生成32位签名串,分为4段, 每段8个字节;2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理;3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串;4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址;实现如下:1. 正则表达式匹配url,验证该长链接是否为正常url,最初写了一个preg_match pattern, 阅读全文
posted @ 2012-11-17 23:55 风之子_2012 阅读(2943) 评论(0) 推荐(0) 编辑