短网址简介
来源:互联网 发布:怎样开淘宝店卖视频 编辑:程序博客网 时间:2024/06/09 15:34
短网址简介
首先来温习下短网址的相关知识:
1、首先要了解什么是短网址?简单的说明是:把你认为长的难记或放不下的本站网址用本功能生成一个简短网址,使用短网址即可直接访问它。
2、其次它有什么用?你发布的或看到的有价值信息,可能需要发给QQ、MSN、论坛等里的好友或者进行宣传,那么就可以使用生成这个简短的网址。
3、目前大多数的在线缩短网址都提供有API的。在Twitter的等息有字数限制的微博客及其他社交网络中得到了广泛的使用。可以更方便地在电子邮件、社交网络、微博和手机上传播,避免折行或超出字符限制。
实现自己的短网址需要如下步骤:
1.定义您自己的网址映射算法。
2.有一个数据库来存储映射的网址。
3.从数据库的短网址的映射找到原始的URL
算法描述
1. 将长网址md5生成32位签名串,分为4段, 每段8个字节;2. 对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理;3. 这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串;4. 总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址;
例如:引自链接 http://qn-lf.iteye.com/blog/1084516
public static string [] ShortUrl( string url) { //可以自定义生成MD5加密字符传前的混合KEY string key = "Leejor" ; //要使用生成URL的字符 string [] chars = new string []{ "a" , "b" , "c" , "d" , "e" , "f" , "g" , "h" , "i" , "j" , "k" , "l" , "m" , "n" , "o" , "p" , "q" , "r" , "s" , "t" , "u" , "v" , "w" , "x" , "y" , "z" , "0" , "1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "A" , "B" , "C" , "D" , "E" , "F" , "G" , "H" , "I" , "J" , "K" , "L" , "M" , "N" , "O" , "P" , "Q" , "R" , "S" , "T" , "U" , "V" , "W" , "X" , "Y" , "Z" }; //对传入网址进行MD5加密 string hex = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(key + url, "md5" ); string [] resUrl = new string [4]; for ( int i = 0; i < 4; i++) { //把加密字符按照8位一组16进制与0x3FFFFFFF进行位与运算 int hexint = 0x3FFFFFFF & Convert.ToInt32( "0x" + hex.Substring(i * 8, 8), 16); string outChars = string .Empty; for ( int j = 0; j < 6; j++) { //把得到的值与0x0000003D进行位与运算,取得字符数组chars索引 int index = 0x0000003D & hexint; // 0x0000003D即61,索引范围为0-61 //把取得的字符相加 outChars += chars[index]; //每次循环按位右移5位 hexint = hexint >> 5; } //把字符串存入对应索引的输出数组 resUrl[i] = outChars; } return resUrl; }然后将生成的短网址和长URL对应关系存入数据库中,当用户访问短网址时,便可以在数据库中查询对应的长URL,数据库表如下:
CREATE TABLE mappedURL ( shortCode char (6) not null , lognURL text not null , PRIMARY KEY shortCodeInd (shortCode), );
- 短网址简介
- 短网址
- 短网址
- 短网址
- 短网址
- 短网址实现方法
- 短网址算法
- 闲话“短网址”服务
- php 生成短网址
- ShortUrl短网址算法
- 短网址功能实现
- 短网址知识
- 短网址 dwz.cn
- php 生成短网址
- 短网址(ShortUrl)实现
- 求短网址源码
- 短网址API设计
- 短网址怎么使用?
- syntactic 与semantic 的区别
- asp.net url传递中文参数的小技巧 解决中文乱码
- 自己写的简单通过js只提供另存为功能【避免直接打开后,文件被占用,其他用户更新不了文件信息】
- Spinner的简单使用
- 关于“warning C4786”
- 短网址简介
- ant
- 屏幕上显示 SE78 图片
- android播放网络音乐
- repo命令的使用方法
- sqlserver 取取月初月末和月份间隔
- java中数据结构之间的区别
- 夏日常见水果营养分析
- Color by Name