时间:2021-05-26
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只是让结果杂乱化.
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
eBay澳洲站增加一条新规,向所有订单的地址栏首行添加一个唯一识别码。该识别码的添加适用于物品所在地在澳洲,且寄送地址也在澳洲的交易。11月14日消息,今日,e
做为亚马逊平台应当对amazonasin都十分了解。它是Amazon会自动生成的一串标识符代,是amazon上商品的唯一商品识别码。它归属于Amazon自定的商
UUID(UniversallyUniqueIdentifier)是通用唯一识别码,在许多领域用作标识,比如我们常用的数据库也可以用它来作为主键,原理上它是可以
groupmod(groupmodify)功能说明:更改群组识别码或名称。语 法:groupmod[-g][-n][群组名称]补充说明:需要更改群组的识别码或
imsi码泄露暂时没有危害。 国际移动用户识别码(IMSI:InternationalMobileSubscriberIdentificationNumb