php生成局部唯一识别码LUID的代码


Posted in PHP onOctober 06, 2012

UUID(Universally Unique Identifier),GUID都是希望在整个时空范围内能产生唯一识别码,这在分布式计算环境下是必要的. 然而,如果仅仅是想在一个受限定的局部环境下,想生成一个"局部唯一识别码",使用UUID就是杀鸡用牛刀,这个"局部唯一识别码",我称之为LUID(Local Unique Identifier)

比如我在用php开发网站程序时,为避免用户同时多次打开同一个网页导致session名称冲突问题, 就希望保存的session不是$_SESSION['param'],而是$_SESSION[$luid]['param'],再通过其他方式传递$luid值,保证'param'参数不被覆盖. 查找了一下别人的解决方式,都是生成UUID,而生成UUID的算法洋洋洒洒上百行. 我考虑到因为是在SESSION空间里,是一个受限定的环境,其唯一性的强度不必太高,只要在同一个SESSION的生存期限内唯一就可以了,于是便有了下面的代码:

/** 
* 返回一个唯一在本地系统中独一无二的字符串, 
* 返回的是32个字符的字符串,形式如'7dac352074f221f3edc74d265c65a636',或'd198d8fc56ffed627f3f8313d6f06acf' 
*/ 
function LUID(){ 
return MD5(microtime()); 
}

其实就一行.return MD5(microtime());

按道理microtime()返回的字符串就已经是唯一的了,我测了一下,即使连续执行microtime(),返回值也有100us以上的差别,而使用者点击,并在网络上传递再由服务器处理的间隔远不止几十ms. 加上md5只是让结果杂乱化.

PHP 相关文章推荐
php中截取字符串支持utf-8
Jan 18 PHP
php 伪造本地文件包含漏洞的代码
Nov 03 PHP
php使用curl抓取qq空间的访客信息示例
Feb 28 PHP
了解PHP的返回引用和局部静态变量
Jun 04 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
Jul 07 PHP
php禁用cookie后session设置方法分析
Oct 19 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
Dec 06 PHP
PHP+MYSQL实现读写分离简单实战
Mar 13 PHP
PHP实现限制IP访问的方法
Apr 20 PHP
基于PHP常用文件函数和目录函数整理
Aug 17 PHP
PHP实现八皇后算法
May 06 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
Dec 15 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
Oct 06 #PHP
PHP中3种生成XML文件方法的速度效率比较
Oct 06 #PHP
PHP中的生成XML文件的4种方法分享
Oct 06 #PHP
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
Oct 05 #PHP
PHP正则表达式之定界符和原子介绍
Oct 05 #PHP
PHP超级全局变量数组小结
Oct 04 #PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
Oct 04 #PHP
You might like
php采用curl模仿登录人人网发布动态的方法
2014/11/07 PHP
php中chdir()函数用法实例
2014/11/13 PHP
分享3个php获取日历的函数
2015/09/25 PHP
javascript中巧用“闭包”实现程序的暂停执行功能
2007/04/04 Javascript
JavaScript 仿关机效果的图片层
2008/12/26 Javascript
jQuery $.each的用法说明
2010/03/22 Javascript
不同浏览器的怪癖小结
2010/07/11 Javascript
SWFObject基本用法实例分析
2015/07/20 Javascript
JS基于FileSystemObject创建一个指定路径的TXT文本文件
2015/08/05 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
JavaScript 中有关数组对象的方法(详解)
2016/08/15 Javascript
解析NodeJs的调试方法
2016/12/11 NodeJs
利用node.js如何创建子进程详解
2017/12/09 Javascript
小程序实现发表评论功能
2018/07/06 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
在vue-cli3.0 中使用预处理器 (Sass/Less/Stylus) 配置全局变量操作
2020/08/10 Javascript
JavaScript实现轮播图效果
2020/10/30 Javascript
python用于url解码和中文解析的小脚本(python url decoder)
2013/08/11 Python
python 3利用BeautifulSoup抓取div标签的方法示例
2017/05/28 Python
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
Python lambda表达式filter、map、reduce函数用法解析
2019/09/11 Python
python 画图 图例自由定义方式
2020/04/17 Python
html5触摸事件判断滑动方向的实现
2018/06/05 HTML / CSS
详解淘宝H5 sign加密算法
2020/08/25 HTML / CSS
2014年创卫实施方案
2014/02/18 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
四风个人对照检查材料思想汇报
2014/09/25 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
房屋租赁协议书(标准版)
2014/10/02 职场文书
村主任“四风”问题个人整改措施
2014/10/04 职场文书
党性修养心得体会2016
2016/01/21 职场文书
学校2016年全国助残日活动总结
2016/04/01 职场文书
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
2021/04/24 Python
vue+springboot实现登录验证码
2021/05/27 Vue.js
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL
SQLServer常见数学函数梳理总结
2022/08/05 MySQL