php 生成短URL的算法】的更多相关文章

function code62($x){     $show='';     while($x>0){         $s=$x % 62;         if ($s>35){             $s=chr($s+61);         }elseif($s>9&&$s<=35){             $s=chr($s+55);         }         $show.=$s;         $x=floor($x/62);    …
短网址就是把一个长的地址转换在超级短的网址,然后访问短网址即可跳转到长网址了,下面来看用PHP实现URL转换短网址的算法与例子. 短网址(Short URL) ,顾名思义就是在形式上比较短的网址.在Web 2.0的今天,不得不说,这是一个潮流.目前已经有许多类似服务,借助短网址您可以用简短的网址替代原来冗长的网址,让使用者可以更容易的分享链接. 算法原理 1)将长网址md5生成32位签名串,分为4段, 每段8个字节;2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(…
假设你想做一个像微博短链接那样的短链接服务,短链接服务生成的URL都非常短例如: http://t.cn/E70Piib, 我们应该都能想到链接中的E70Piib对应的就是存储长链接地址的数据记录的ID,可是这个有大小写字母和数字构成的唯一ID是怎么生成的呢,刚学编程的时候我们用的方法都试拼接一个足够唯一的字符串(比如时间戳加用户ID等等)然后再用MD5或者SHA1散列算法算出一个散列值,用这种方法得到的唯一ID有可能比原始的链接的长度还要长,所以如何来优雅的生成足够短的字符串唯一ID呢? 我们…
算法原理 算法一 1)将长网址md5生成32位签名串,分为4段, 每段8个字节; 2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理; 3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串; 4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址; 这种算法,虽然会生成4个,但是仍然存在重复几率. 算法二 a-zA-Z0-9 这64位取6位组合,可产生5…
java,url长链接生成短链接,短链接生成器,自定义字符串,对字符串md5混合KEY加密,根据短链接获得key值,不重复的随机数,不重复的随机字符串 package com.zdz.test; import java.math.BigInteger; import java.security.MessageDigest; import javax.security.sasl.SaslException; /** * 短链接生成器 * * @author zdz8207 * @version v…
生成短网址的思路以及使用php生成短网址的实现方法. 生成短网址的思路:如果把短网址还原了,你知道是个什么样子的吗?比如:http://www.jbxue.com/sitejs-17300-1.html对于以上这个链接,除了直接打开之外,还有一种方法打开它,如下:http://www. jbxue.com/link.php?url=http://www.jbxue.com/sitejs-17300-1.html好了,短网址还原了实际就是这个样子的了,可能你看到新浪微博应用里面的短网址都是这个样子…
为什么要生成短链接 微博之所以要是使用短链接,主要是因为微博只允许发140 字,如果链接地址太长的话,那么发送的字数将大大减少. 那么使用短链接的作用有哪些呢?1.字数,2.统计,3.监控,4.过滤 生成思路 1.将"原始链接(长链接)+key(自定义字符串,防止算法泄漏)"MD5加密 2.把加密字符按照 8 位一组 16 进制与 0x3FFFFFFF 进行位与运算,把得到的值与 0x0000003D 进行位与运算,取得字符数组 chars 索引,把取得的字符相加,每次循环按位右移 5…
短网址应用已经在全国各大微博上开始流行了起来.例如QQ微博的url.cn,新郎的sinaurl.cn等. 我们在QQ微博上发布网址的时候,微博会自动判别网址,并将其转换,例如:http://url.cn/2hytQx 为什么要这样做的,原因我想有这样几点: 1.微博限制字数为140字一条,那么如果我们需要发一些连接上去,但是这个连接非常的长,以至于将近要占用我们内容的一半篇幅,这肯定是不能被允许的,所以短网址应运而生了. 2.短网址可以在我们项目里可以很好的对开放级URL进行管理.有一部分网址可…
二维码 1.什么是二维码? 二维条形码,最早发明于日本,它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”.“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理.它具有条码技术的一些共性:每种码制有其特定的字符集:每个字符占有一定的宽度:具有一定的校验功能等.同时还具有对不同行的信息自动识别功能.及处理图形旋转变化等特点 2…
假设你想做一个像微博短链接那样的短链接服务,短链接服务生成的URL都非常短例如: http://t.cn/E70Piib, 我们应该都能想到链接中的E70Piib对应的就是存储长链接地址的数据记录的ID,可是这个有大小写字母和数字构成的唯一ID是怎么生成的呢,刚学编程的时候我们用的方法都试拼接一个足够唯一的字符串(比如时间戳加用户ID等等)然后再用MD5或者SHA1散列算法算出一个散列值,用这种方法得到的唯一ID有可能比原始的链接的长度还要长,所以如何来优雅的生成足够短的字符串唯一ID呢? 我们…