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='', $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');
http://www.gaodaima.com/?p=50136微博短链接算法PHP版本_php
$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);
欢迎大家阅读《微博短链接算法PHP版本_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码
原创文章,转载请注明: 转载自搞代码
微信 赏一包辣条吧~
支付宝 赏一听可乐吧~
php 短网址 算法,微博短链接算法PHP版本_php相关推荐
- 微博短网址 php,php生成短网址 仿微博短网址生成代码
1,html代码部分 复制代码 代码示例: urlShort-php生成短网址_www.jbxue.com_脚本学堂提供 2,生成php短网址的代码. 复制代码 代码示例: header(" ...
- 短链接生成-短网址生成-短网址生成接口-短网址URL生成-短链接-短链接URL生成接口
短链接生成-短网址生成-短网址生成接口-短网址URL生成-短链接-短链接URL生成接口[最新版]_数据API_数据应用-云市场-阿里云 如何生成短网址,短链接? 这为我们短信节约了巨额的成本 publ ...
- 微博java实现原理_【转】URL短地址压缩算法 微博短地址原理解析 (Java实现)...
最近,项目中需要用到短网址(ShortUrl)的算法,于是在网上搜索一番,发现有C#的算法,有.Net的算法,有PHP的算法,就是没有找到Java版的短网址(ShortUrl)的算法,很是郁闷.同时还 ...
- 短网址、综合短网址、PT短网址生成源代码,含前后端源代码,做一个自己的短链生成网站
短网址.综合短网址.PT短网址生成源代码,含前后端源代码,做一个自己的短链生成网站 安装步骤 直接上传到你的空间即可,要求php环境 添加接口 index.html中,添加网址单选 api.php中, ...
- 关于短网址短链接生成的算法问题
关于短网址算法问题 这两天把小七短链接的短网址生成算法重构了,源于一个无意中的想法. 生成短网址代码的方式有很多,其核心目的就是 唯一. 尽可能少的位数还原尽可能多的网址. 网上的方法有很多,我估计多 ...
- mysql 生成短网址_生成短链接的URL
假设你想做一个像微博短链接那样的短链接服务,短链接服务生成的URL都非常短例如: http://t.cn/E70Piib, 我们应该都能想到链接中的E70Piib对应的就是存储长链接地址的数据记录的I ...
- url短网址 java_url.cn短网址生成api接口(腾讯短链接url生成)
分享几个最新的url.cn短网址生成api接口,快速生成url.cn超短链接,接口都可以正常调用,觉得不错可以收藏一下. 请求地址: 使用说明: 将api接口地址中"http://www.b ...
- 长链接转短链接java_新浪短网址API接口 - 长链接转短链接
新浪短网址API接口是新浪对外公开的短网址生成接口,可以将长链接转短链接(生成的是 http://t.cn/xxxx 格式的),分享一个自己收藏的api接口,使用快一年了,一直都挺稳定的,觉得不错可以 ...
- java url压缩_URL短地址压缩算法 微博短地址原理解析 (Java实现)
最近,项目中需要用到短网址(ShortUrl)的算法,于是在网上搜索一番,发现有C#的算法,有.Net的算法,有PHP的算法,就是没有找到Java版的短网址(ShortUrl)的算法,很是郁闷.同时还 ...
最新文章
- php-fpm开启报错-ERROR: An another FPM instance seems to already listen on /tmp/php-cgi.sock
- c语言修改elf文件crc32,hash/crc32
- slab 内存分配器介绍(一)
- Qt三种方式实现FTP上传功能
- 遨游3.0 RC 版公布
- oracle sql条件语句,谁能介绍下Oraclesql之条件语句?
- JS函数addEventListener的浏览器差异性封装
- Linux怎么设置ntp授时,linux设置ntp时间同步服务器地址
- 屏幕元素创建的基本语法
- 用MFC消息映射机制自定义消息
- java出栈序列合法性_pat--7-11 出栈序列的合法性(25 分)
- CCS历代版本下载地址以及6.0以上版本添加软件仿真
- Glide在github上的jar包下载方法
- 干货】最详细、最完美、可以上下左右移动的表格布局,仿同花顺自选列表,老虎证券财报列表,欢迎 Start、Fork
- 尝试在blender中渲染一个最简单的动画
- java poi_Java POI的学习(一)——Word
- scala akka 修炼之路6(scala函数式柯里化风格应用场景分析)
- 【word小技巧】插入三阶以上的矩阵
- NB-IOT联网通信
- c语言 线程读写,C语言创建线程以及使用锁进行读写分离
热门文章
- 2021.10.9-2021.10.15-本周代码+如何激励自己
- apple全家桶每一样在中国最高配置分别多少钱
- idea修改jsp、html需要重启服务器
- AutoCAD.net AttributeBlock实例3 炸属性块
- 使用Selenium模拟浏览器登录,并获取页面信息
- Mysql字符串截取
- 减肥瘦身误区盘点,这3种“黄色水果”,反而让您更长肉!
- 用友nc65 uap开发参照多选三种显示情况总结
- 一句话恶心计算机专业,计算机专业真不是修电脑的…一句话形容自己的专业
- 黑马ssm整合的BOOT客户管理系统V1.0