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中集成PayPal标准支付的实现方法分享
Feb 06 PHP
PHP连接MongoDB示例代码
Sep 06 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
Dec 22 PHP
php使用cookie显示用户上次访问网站日期的方法
Jan 26 PHP
JavaScript实现滚动栏效果的方法
Apr 27 PHP
PHP实现批量修改文件后缀名的方法
Jul 30 PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
Aug 23 PHP
PHP+Ajax实现验证码的实时验证
Jul 20 PHP
浅谈php处理后端&amp;接口访问超时的解决方法
Oct 29 PHP
php将print_r处理后的数据还原为原始数组的解决方法
Nov 02 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
PHP实现数组根据某个单元字段排序操作示例
Aug 01 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
可以在线执行PHP代码包装修正版
2008/03/15 PHP
PHP中的函数-- foreach()的用法详解
2013/06/24 PHP
PHP实现的简单分页类及用法示例
2016/05/06 PHP
PHP面向对象程序设计组合模式与装饰模式详解
2016/12/02 PHP
Laravel如何实现自动加载类
2019/10/14 PHP
jquery 结合C#后台的数组对文章的关键字自动添加链接的代码
2011/07/15 Javascript
GRID拖拽行的实例代码
2013/07/18 Javascript
js单词形式的运算符
2014/05/06 Javascript
Javascript实现通过选择周数显示开始日和结束日的实现代码
2016/05/30 Javascript
node.js中express-session配置项详解
2017/05/31 Javascript
原生js实现简单的模态框示例
2017/09/08 Javascript
vue项目优化之通过keep-alive数据缓存的方法
2017/12/11 Javascript
浅谈React的最大亮点之虚拟DOM
2018/05/29 Javascript
基于游标的分页接口实现代码示例
2018/11/12 Javascript
js使用Promise实现简单的Ajax缓存
2018/11/14 Javascript
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
深入解析koa之异步回调处理
2019/06/17 Javascript
vuejs+element UI table表格中实现禁用部分复选框的方法
2019/09/20 Javascript
jquery中attr、prop、data区别与用法分析
2019/09/25 jQuery
p5.js实现动态图形临摹
2019/10/23 Javascript
Vue2.0 实现页面缓存和不缓存的方式
2019/11/12 Javascript
在vscode 中设置 vue模板内容的方法
2020/09/02 Javascript
详细介绍Python语言中的按位运算符
2013/11/26 Python
linux系统使用python监控apache服务器进程脚本分享
2014/01/15 Python
python高手之路python处理excel文件(方法汇总)
2016/01/07 Python
深入解析Python中的descriptor描述器的作用及用法
2016/06/27 Python
django 修改server端口号的方法
2018/05/14 Python
Python使用gRPC传输协议教程
2018/10/16 Python
Python基于opencv调用摄像头获取个人图片的实现方法
2019/02/21 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
python怎么删除缓存文件
2020/07/19 Python
Kendra Scott官网:美国领先的时尚配饰品牌
2020/10/22 全球购物
什么是表空间(tablespace)和系统表空间(System tablespace)
2013/02/25 面试题
公司市场部岗位职责
2013/12/02 职场文书
2014年服务行业工作总结
2014/11/18 职场文书