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中的时间显示
Jan 18 PHP
php开发环境配置记录
Jan 14 PHP
PHP无法访问远程mysql的问题分析及解决
May 16 PHP
php生成txt文件标题及内容的方法
Jan 16 PHP
YII路径的用法总结
Jul 09 PHP
通过php修改xml文档内容的方法
Jan 23 PHP
php强制更新图片缓存的方法
Feb 11 PHP
JSON两种结构之对象和数组的理解
Jul 19 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
Feb 07 PHP
PHP实现的链式队列结构示例
Sep 15 PHP
php生成条形码的图片的实例详解
Sep 13 PHP
PHP文件类型检查及fileinfo模块安装使用详解
May 09 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
建立动态的WML站点(一)
2006/10/09 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
2016/12/08 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
js监听表单value的修改同步问题,跨浏览器支持
2009/12/31 Javascript
JavaScript 页面坐标相关知识整理
2010/01/09 Javascript
一个挺有意思的Javascript小问题说明
2011/09/26 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
javascript打印大全(打印页面设置/打印预览代码)
2013/03/29 Javascript
Jquery+CSS3实现一款简洁大气带滑动效果的弹出层
2013/05/15 Javascript
JavaScript在IE和FF下的兼容性问题
2014/05/19 Javascript
jQuery基于cookie实现的购物车实例分析
2015/12/24 Javascript
jQuery图片轮播插件——前端开发必看
2016/05/31 Javascript
AngularJS基础 ng-copy 指令实例代码
2016/08/01 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
详解webpack+angular2开发环境搭建
2017/06/28 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
jQuery轮播图功能制作方法详解
2019/12/03 jQuery
JavaScript 常见的继承方式汇总
2020/09/17 Javascript
[52:06]完美世界DOTA2联赛决赛日 Inki vs LBZS 第一场 11.08
2020/11/10 DOTA
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
浅析python递归函数和河内塔问题
2017/04/18 Python
Django入门使用示例
2017/12/12 Python
使用python模拟命令行终端的示例
2019/08/13 Python
python re模块常见用法例举
2021/03/01 Python
运动会开幕式邀请函
2014/01/22 职场文书
小区门卫管理制度
2014/01/29 职场文书
银行类自荐信
2014/02/04 职场文书
写给老婆的检讨书
2014/02/21 职场文书
保卫科工作岗位职责
2014/03/01 职场文书
中考冲刺决心书
2014/03/11 职场文书
文明寝室申报材料
2014/05/12 职场文书
合作经营协议书范本
2014/09/16 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
前台接待员岗位职责
2015/04/15 职场文书
Mysql - 常用函数 每天积极向上
2021/04/05 MySQL