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 相关文章推荐
无限级别菜单的实现
Oct 09 PHP
php中配置文件操作 如config.php文件的读取修改等操作
Jul 07 PHP
探讨捕获php错误信息方法的详解
Jun 09 PHP
php实现无限级分类(递归方法)
Aug 06 PHP
使用ltrace工具跟踪PHP库函数调用的方法
Apr 25 PHP
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
May 04 PHP
对PHP依赖注入的理解实例分析
Oct 09 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
Dec 15 PHP
php实现微信扫码支付
Mar 26 PHP
Laravel框架分页实现方法分析
Jun 12 PHP
thinkphp3.2同时连接两个数据库的简单方法
Aug 13 PHP
PHP程序员必须知道的两种日志实例分析
May 14 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
漫荒推荐:画风超赞的国风漫画推荐 超长假期不无聊
2020/03/08 国漫
PHP父类调用子类方法的代码例子
2014/04/09 PHP
PHP资源管理框架Assetic简介
2014/06/12 PHP
php中Socket创建与监听实现方法
2015/01/05 PHP
js获得地址栏?问号后参数的方法
2013/08/08 Javascript
Array栈方法和队列方法的特点说明
2014/01/24 Javascript
使用JS获取当前地理位置方法汇总
2014/12/18 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
jquery表单对象属性过滤选择器实例分析
2015/05/18 Javascript
JS/jQ实现免费获取手机验证码倒计时效果
2016/06/13 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
2016/12/07 Javascript
BootStrap组件之进度条的基本用法
2017/01/19 Javascript
Bootstrap模态窗口源码解析
2017/02/08 Javascript
JQuery中Ajax的操作完整例子
2017/03/07 Javascript
js图片加载效果实例代码(延迟加载+瀑布流加载)
2017/05/12 Javascript
Vue.js中数据绑定的语法教程
2017/06/02 Javascript
详解React 16 中的异常处理
2017/07/28 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
微信小程序实现自定义modal弹窗封装的方法
2018/06/15 Javascript
探秘vue-rx 2.0(推荐)
2018/09/21 Javascript
浅析vue-cli3配置webpack-bundle-analyzer插件【推荐】
2019/10/23 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
2019/10/25 Javascript
使用Vant完成通知栏Notify的提示操作
2020/11/11 Javascript
微信小程序实现音乐播放页面布局
2020/12/11 Javascript
python列表与元组详解实例
2013/11/01 Python
基于python批量处理dat文件及科学计算方法详解
2018/05/08 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
2019/07/04 Python
Django基础三之视图函数的使用方法
2019/07/18 Python
Python如何把多个PDF文件合并代码实例
2020/02/13 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
Python 中如何写注释
2020/08/28 Python
2014年党的群众路线活动个人整改措施
2014/10/28 职场文书
团员年度个人总结
2015/02/26 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书
如何用python绘制雷达图
2021/04/24 Python
HTML+VUE分页实现炫酷物联网大屏功能
2021/05/27 Vue.js