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)的算法,很是郁闷.同时还 ...
最新文章
- 一般项目中是如何调bug的 ------- 手把手带你体验整个流程
- python多线程实现方式_python中实现多线程有几种方式?
- golang chan 探究
- Python 基本数据类型 (二) - 字符串
- js 根据固定位置获取经纬度--腾讯地图
- c语言gettop函数值,数据结构-栈 C和C++的实现
- fastJson工具类
- 【linux】web socket
- 组件cdn引入_高性能 React UI组件库SHINEOUT
- 利用Tushare合成期货主力连续数据
- 微机原理——8255A的编程
- 卡尔曼滤波器MATLAB实现(从一维到三维)
- python处理pdf实例_Python使用PDFMiner解析PDF代码实例
- java 16 规定_java并发编程(十六)happen-before规则
- 计算机二级Python第二弹课后题来袭!冲冲冲!!!
- 3dsmax 2019 插件开发要点
- goahead内嵌web——用户登录
- 数据的存储结构有哪些?
- kernel编译练习2:给ubuntu22升级5.19内核
- 【运营】新品推广方案整理
热门文章
- 程序员频繁跳槽,将被列入失信名单!
- 成于公益,困于流量 “快消风”的水滴能否做好保险中介?
- 我的世界删除维度mod导致进不去地狱和末地问题解决方法
- 常用正则表达式—邮箱(Email)
- NVIDIA控制面板打开报错,提示nvcplui.exe应用程序错误并显示传递给系统调用的数据区域太小
- C#实现json、xml与实体类互相转换
- Linux CentOS 解压缩 压缩 命令
- kafka 基础概念、命令行操作(查看所有topic、创建topic、删除topic、查看某个Topic的详情、修改分区数、发送消息、消费消息、 查看消费者组 、更新消费者的偏移位置)
- uni-app 微信小程序 手机号授权
- 编写STM32 C程序:字符串String转数字, 数字转字符串String