思路:

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. 一般项目中是如何调bug的 ------- 手把手带你体验整个流程
  2. python多线程实现方式_python中实现多线程有几种方式?
  3. golang chan 探究
  4. Python 基本数据类型 (二) - 字符串
  5. js 根据固定位置获取经纬度--腾讯地图
  6. c语言gettop函数值,数据结构-栈 C和C++的实现
  7. fastJson工具类
  8. 【linux】web socket
  9. 组件cdn引入_高性能 React UI组件库SHINEOUT
  10. 利用Tushare合成期货主力连续数据
  11. 微机原理——8255A的编程
  12. 卡尔曼滤波器MATLAB实现(从一维到三维)
  13. python处理pdf实例_Python使用PDFMiner解析PDF代码实例
  14. java 16 规定_java并发编程(十六)happen-before规则
  15. 计算机二级Python第二弹课后题来袭!冲冲冲!!!
  16. 3dsmax 2019 插件开发要点
  17. goahead内嵌web——用户登录
  18. 数据的存储结构有哪些?
  19. kernel编译练习2:给ubuntu22升级5.19内核
  20. 【运营】新品推广方案整理

热门文章

  1. 程序员频繁跳槽,将被列入失信名单!
  2. 成于公益,困于流量 “快消风”的水滴能否做好保险中介?
  3. 我的世界删除维度mod导致进不去地狱和末地问题解决方法
  4. 常用正则表达式—邮箱(Email)
  5. NVIDIA控制面板打开报错,提示nvcplui.exe应用程序错误并显示传递给系统调用的数据区域太小
  6. C#实现json、xml与实体类互相转换
  7. Linux CentOS 解压缩 压缩 命令
  8. kafka 基础概念、命令行操作(查看所有topic、创建topic、删除topic、查看某个Topic的详情、修改分区数、发送消息、消费消息、 查看消费者组 、更新消费者的偏移位置)
  9. uni-app 微信小程序 手机号授权
  10. 编写STM32 C程序:字符串String转数字, 数字转字符串String