php生成短域名函数


Posted in PHP onMarch 23, 2015

php生成短域名函数

public function createRandCode($string) {
    $code = '';
    $hex_code = '1qaz2wsx3edc4rfv5t-gb6yhn7ujm8ik9ol0p_';
    $now = microtime(true) * 10000;
    $strlen = strlen($hex_code);
 
    $hash_code = hash('sha256', $string);
 
    // 这里会为编码定义一个随机的长度,长度取决于step
    $step = rand(8, 16);
    $count = ceil(strlen($hash_code) / $step);
 
    for($i = 0; $i < $count; $i++) {
      $start = $i * $step;
      $hex_num = substr($hash_code, $start, $step);
      $num = 0x3fffffff & (1 * '0x' . $hex_num);
      $n = $num % $strlen;
      $code .= $hex_code[$n];
    }
 
    return $code;
  }

以上所述就是本文给大家分享的代码的全部内容了,希望大家能够喜欢。

PHP 相关文章推荐
PHP的加密方式及原理
Jun 14 PHP
PHP实现抓取HTTPS内容
Dec 01 PHP
php实现插入排序
Mar 29 PHP
PHP实现XML与数据格式进行转换类实例
Jul 29 PHP
学习php设计模式 php实现备忘录模式(Memento)
Dec 09 PHP
ThinkPHP中html:list标签用法分析
Jan 09 PHP
PHP自定义错误用法示例
Sep 28 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
Dec 02 PHP
使用php实现网站验证码功能【推荐】
Feb 09 PHP
ZendFramework2连接数据库操作实例
Apr 18 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
Oct 30 PHP
PHP实现简单注册登录系统
Dec 28 PHP
PHP随机生成信用卡卡号的方法
Mar 23 #PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
Mar 23 #PHP
php实现Mongodb自定义方式生成自增ID的方法
Mar 23 #PHP
php实现约瑟夫问题的方法小结
Mar 23 #PHP
php约瑟夫问题解决关于处死犯人的算法
Mar 23 #PHP
PHP贪婪算法解决0-1背包问题实例分析
Mar 23 #PHP
PHP回溯法解决0-1背包问题实例分析
Mar 23 #PHP
You might like
ajax+php打造进度条代码[readyState各状态说明]
2010/04/12 PHP
PHP 循环列出目录内容的函数代码
2010/05/26 PHP
php的zip解压缩类pclzip使用示例
2014/03/14 PHP
windows下配置php5.5开发环境及开发扩展
2014/12/25 PHP
PHP 获取ip地址代码汇总
2015/07/05 PHP
ThinkPHP表单数据智能写入create方法实例分析
2015/09/27 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
Jquery 模板数据绑定插件的使用方法详解
2013/07/08 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
2013/10/23 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
2014/01/06 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
2015/03/23 Javascript
用jquery获取自定义的标签属性的值简单实例
2016/09/17 Javascript
jQuery选择器之表单元素选择器详解
2017/09/19 jQuery
vue实现手机号码抽奖上下滚动动画示例
2017/10/18 Javascript
原生js实现仿window10系统日历效果的实例
2017/10/31 Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
2018/08/08 jQuery
JavaScript实现选项卡效果的分析及步骤
2019/04/16 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
nodeJs的安装与npm全局环境变量的配置详解
2020/01/06 NodeJs
[51:27]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
[38:38]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.17
2020/12/18 DOTA
python嵌套函数使用外部函数变量的方法(Python2和Python3)
2016/01/31 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
2019/11/19 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
2020/03/16 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
使用anaconda安装pytorch的实现步骤
2020/09/03 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
副处级干部考察材料
2014/05/17 职场文书
工作犯错保证书
2015/05/11 职场文书
求职信:求职应该注意的问题
2019/04/24 职场文书
大学毕业生自我鉴定范文
2019/06/21 职场文书
Flask搭建一个API服务器的步骤
2021/05/28 Python
Spring中bean集合注入的方法详解
2022/07/07 Java/Android