您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

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

2024/2/17 22:53:25发布12次查看
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只是让结果杂乱化.
http://www.bkjia.com/phpjc/326068.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/326068.htmltecharticleuuid(universally unique identifier),guid都是希望在整个时空范围内能产生唯一识别码,这在分布式计算环境下是必要的. 然而,如果仅仅是想在一个受限...
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product