微博短链接算法PHP版本

  思路:

  1)将长网址md5生成32位签名串,分为4段, 每段8个字节;

  2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理;

  3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串;

  4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址;

  下面是PHP代码:

function shorturl($url='', $prefix='', $suffix='') {
$base32 = array (
'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');

$hex = md5($prefix.$url.$suffix);
$hexLen = strlen($hex);
$subHexLen = $hexLen / 8;
$output = array();

for ($i = 0; $i < $subHexLen; $i++) {
$subHex = substr ($hex, $i * 8, 8);
$int = 0x3FFFFFFF & (1 * ('0x'.$subHex));
$out = '';
for ($j = 0; $j < 6; $j++) {
$val = 0x0000001F & $int;
$out .= $base32[$val];
$int = $int >> 5;
}
$output[] = $out;
}
return $output;
}

$urls = shorturl('http://www.php100.com');
var_dump($urls);

时间: 2024-08-12 17:46:29

微博短链接算法PHP版本的相关文章

微博短链接算法php版本实现代码_php实例

思路: 1)将长网址md5生成32位签名串,分为4段, 每段8个字节; 2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理; 3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串; 4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址; 下面是PHP代码: 复制代码 代码如下: function shorturl($url='', $prefix=''

PHP实现微博短链接算法

思路: 1)将长网址md5生成32位签名串,分为4段, 每段8个字节: 2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理: 3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串: 4)总的md5串可以获得4个6位串: 取里面的任意一个就可作为这个长url的短url地址: 下面是PHP代码: function shorturl($url='', $prefix='', $suffix='

php 短链接算法收集与分析_php技巧

短链接就不说了,大家已经都清楚了,如下所示就是短链接: 新浪微博 http://t.cn/SVpONM 腾讯微博 http://url.cn/302yor Yun.io http://d.yun.io/PNri2v 短链接的好处:1.内容需要:2.用户友好:3.便于管理. 如何实现呢,大概有三个步骤: 1.定义一个URL映射算法,可以将长的URL映射成短字符串: 2.使用一个存储(数据库?NoSQL?)来存储完成的映射: 3.实现自己的URL映射算法: 一般来说,第三步是我们比较头疼的,如何将一

短链接算法收集与分析

短链接就不说了,大家已经都清楚了,如下所示就是短链接: 新浪微博     http://t.cn/SVpONM 腾讯微博     http://url.cn/302yor Yun.io         http://d.yun.io/PNri2v 短链接的好处:1.内容需要:2.用户友好:3.便于管理. 如何实现呢,大概有三个步骤: 1.定义一个URL映射算法,可以将长的URL映射成短字符串: 2.使用一个存储(数据库?NoSQL?)来存储完成的映射: 3.实现自己的URL映射算法: 一般来说,

ASP.NET通过第三方网站Bitly实现短链接地址程序_实用技巧

发微博很久了,或许是我之前没注意,现在特别关注那个微博中的图片链接和URL链接,总给我看不懂但是又那么短的感觉,反正不是我上传的地址,其实这里使用一个短链接服务功能,这里拿出来晒晒. 这里看看是指向淘宝的一个商品页面,链接地址是这样的 ,但是现在在微博中变成了红圈表名的那个样子,似乎看不懂了,而且你点击之后还是到你原有的页面.这里就是使用了短链接程序服务,包括图片等等都是这样,可以缩短url长度. Bitly 是世界上最流行的短链接服务,而且已经免费开放所有功能.点击访问官网 Bitly.com

很牛逼的短链接,我们一起来晒晒短链接程序

发微博很久了,或许是我之前没注意,现在特别关注那个微博中的图片链接和URL链接,总给我看不懂但是又那么短的感觉,反正不是我上传的地址,其实这里使用一个短链接服务功能,这里拿出来晒晒.    这里看看是指向淘宝的一个商品页面,链接地址是这样的 ,但是现在在微博中变成了红圈表名的那个样子,似乎看不懂了,而且你点击之后还是到你原有的页面.这里就是使用了短链接程序服务,包括图片等等都是这样,可以缩短url长度.  Bitly 是世界上最流行的短链接服务,而且已经免费开放所有功能.点击访问官网 Bitly

ios-iOS微博分享的内容太多还有参数被微博官方拦截,怎么办,或者怎么将长链接转为短链接

问题描述 iOS微博分享的内容太多还有参数被微博官方拦截,怎么办,或者怎么将长链接转为短链接 iOS微博分享的内容太多还有参数被微博官方拦截,怎么办,或者怎么将长链接转为短链接,或者怎么获取token啊,求大神赐教 解决方案 短连接对应的服务商有api,可以获取返回值得到

关于短链接是否对SEO有影响的一点思考

首先在新的一年里石家庄seo祝福A5全体工作人员和广大中小站长新年快乐!前两天看了乐思蜀写的一篇关于短链接对于seo的影响的文章:短网址对SEO的影响与应用,文章中说明了短链接对原链接做了301重定向对seo是没有影响的,还请出了google工程师的视频作为权威支持. 短地址应用的最多的地方相信大家都知道就是微博地址短链接,对于国内来说,sina微博的短链接为t.cn,腾讯的为url.cn,搜狐的短链接是t.itc.cn,网易的为126.fm,笔者对这几个短链接做了http头的测试,得出如图:

新浪微博短链接正式更换为t.cn 改善用户体验

中介交易 SEO诊断淘宝客 站长团购 云主机 技术大厅 3月23日admin5站长网消息:今日新浪微博正式发出公告,微博中的短链接正式由sinaurl.cn变成t.cn.比原来短了六个字符,新的短链更简洁,而且为用户留出更多的文字空间,能让用户在带着链接的情况下多写三个字. 我们都知道,除搜狐微博对中英文输入没有限制外,国内几大微博都有严格的字数限制.腾讯和新浪微博将字数限制为140字;网易为163个字.将微博字数限制为140字来源于对于Twitter的模仿.但Twitter的140个字符,指的