思路:

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相关推荐

  1. 微博短网址 php,php生成短网址 仿微博短网址生成代码

    1,html代码部分 复制代码 代码示例: urlShort-php生成短网址_www.jbxue.com_脚本学堂提供 2,生成php短网址的代码. 复制代码 代码示例: header(" ...

  2. 短链接生成-短网址生成-短网址生成接口-短网址URL生成-短链接-短链接URL生成接口

    短链接生成-短网址生成-短网址生成接口-短网址URL生成-短链接-短链接URL生成接口[最新版]_数据API_数据应用-云市场-阿里云 如何生成短网址,短链接? 这为我们短信节约了巨额的成本 publ ...

  3. 微博java实现原理_【转】URL短地址压缩算法 微博短地址原理解析 (Java实现)...

    最近,项目中需要用到短网址(ShortUrl)的算法,于是在网上搜索一番,发现有C#的算法,有.Net的算法,有PHP的算法,就是没有找到Java版的短网址(ShortUrl)的算法,很是郁闷.同时还 ...

  4. 短网址、综合短网址、PT短网址生成源代码,含前后端源代码,做一个自己的短链生成网站

    短网址.综合短网址.PT短网址生成源代码,含前后端源代码,做一个自己的短链生成网站 安装步骤 直接上传到你的空间即可,要求php环境 添加接口 index.html中,添加网址单选 api.php中, ...

  5. 关于短网址短链接生成的算法问题

    关于短网址算法问题 这两天把小七短链接的短网址生成算法重构了,源于一个无意中的想法. 生成短网址代码的方式有很多,其核心目的就是 唯一. 尽可能少的位数还原尽可能多的网址. 网上的方法有很多,我估计多 ...

  6. mysql 生成短网址_生成短链接的URL

    假设你想做一个像微博短链接那样的短链接服务,短链接服务生成的URL都非常短例如: http://t.cn/E70Piib, 我们应该都能想到链接中的E70Piib对应的就是存储长链接地址的数据记录的I ...

  7. url短网址 java_url.cn短网址生成api接口(腾讯短链接url生成)

    分享几个最新的url.cn短网址生成api接口,快速生成url.cn超短链接,接口都可以正常调用,觉得不错可以收藏一下. 请求地址: 使用说明: 将api接口地址中"http://www.b ...

  8. 长链接转短链接java_新浪短网址API接口 - 长链接转短链接

    新浪短网址API接口是新浪对外公开的短网址生成接口,可以将长链接转短链接(生成的是 http://t.cn/xxxx 格式的),分享一个自己收藏的api接口,使用快一年了,一直都挺稳定的,觉得不错可以 ...

  9. java url压缩_URL短地址压缩算法 微博短地址原理解析 (Java实现)

    最近,项目中需要用到短网址(ShortUrl)的算法,于是在网上搜索一番,发现有C#的算法,有.Net的算法,有PHP的算法,就是没有找到Java版的短网址(ShortUrl)的算法,很是郁闷.同时还 ...

最新文章

  1. php-fpm开启报错-ERROR: An another FPM instance seems to already listen on /tmp/php-cgi.sock
  2. c语言修改elf文件crc32,hash/crc32
  3. slab 内存分配器介绍(一)
  4. Qt三种方式实现FTP上传功能
  5. 遨游3.0 RC 版公布
  6. oracle sql条件语句,谁能介绍下Oraclesql之条件语句?
  7. JS函数addEventListener的浏览器差异性封装
  8. Linux怎么设置ntp授时,linux设置ntp时间同步服务器地址
  9. 屏幕元素创建的基本语法
  10. 用MFC消息映射机制自定义消息
  11. java出栈序列合法性_pat--7-11 出栈序列的合法性(25 分)
  12. CCS历代版本下载地址以及6.0以上版本添加软件仿真
  13. Glide在github上的jar包下载方法
  14. 干货】最详细、最完美、可以上下左右移动的表格布局,仿同花顺自选列表,老虎证券财报列表,欢迎 Start、Fork
  15. 尝试在blender中渲染一个最简单的动画
  16. java poi_Java POI的学习(一)——Word
  17. scala akka 修炼之路6(scala函数式柯里化风格应用场景分析)
  18. 【word小技巧】插入三阶以上的矩阵
  19. NB-IOT联网通信
  20. c语言 线程读写,C语言创建线程以及使用锁进行读写分离

热门文章

  1. 2021.10.9-2021.10.15-本周代码+如何激励自己
  2. apple全家桶每一样在中国最高配置分别多少钱
  3. idea修改jsp、html需要重启服务器
  4. AutoCAD.net AttributeBlock实例3 炸属性块
  5. 使用Selenium模拟浏览器登录,并获取页面信息
  6. Mysql字符串截取
  7. 减肥瘦身误区盘点,这3种“黄色水果”,反而让您更长肉!
  8. 用友nc65 uap开发参照多选三种显示情况总结
  9. 一句话恶心计算机专业,计算机专业真不是修电脑的…一句话形容自己的专业
  10. 黑马ssm整合的BOOT客户管理系统V1.0