码迷,mamicode.com
首页 > Web开发 > 详细

[PHP] - UUID

时间:2020-01-06 14:20:23      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:php安装   blank   出现   就是   随机   uid   div   details   tps   

UUID介绍:

(原文链接:https://blog.csdn.net/bravejiezai/article/details/51725049

英文:Universally Unique Identifier。翻译为:全局唯一标识符

本身是由一组32位数的16进制数字所构成,故UUID理论上的总数为1632=2128,约等于3.4 x 1038。

 

UUID的表现形式

UUID需要事先制定规则,它的标准型式包含32个16进制数字,以连字号分为五段,表现形式为8-4-4-4-12的32个字符,如下所示:

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

其中M与N都有特殊含义,M表示UUID版本,目前只有五个版本,即只会出现1,2,3,4,5,数字 N的一至三个最高有效位表示 UUID 变体,目前只会出现8,9,a,b四种情况。

 

UUID的版本:

UUID具有多个版本,每个版本的算法不同,应用范围也不同。

UUID Version 1:基于时间的UUID

基于时间的UUID通过计算当前时间戳、随机数和机器MAC地址得到。由于在算法中使用了MAC地址,这个版本的UUID可以保证在全球范围的唯一性。但与此同时,使用MAC地址会带来安全性问题,这就是这个版本UUID受到批评的地方。

UUID Version 2:DCE安全的UUID

分布式计算环境(Distributed Computing Environment)安全的UUID和基于时间的UUID算法相同,但会把时间戳的前4位置换为POSIX的UID或GID。

UUID Version 3:基于名字的UUID(MD5)

基于名字的UUID通过计算名字和名字空间的MD5散列值得到。这个版本的UUID保证了:相同名字空间中不同名字生成的UUID的唯一性;不同名字空间中的UUID的唯一性;相同名字空间中相同名字的UUID重复生成是相同的。

UUID Version 4:随机UUID

根据随机数,或者伪随机数生成UUID。

UUID Version 5:基于名字的UUID(SHA1)

和版本3的UUID算法类似,只是散列值计算使用SHA1(Secure Hash Algorithm 1)算法。

PHP中 V1与V4生成 uuid 的性能比较

(原文链接:https://learnku.com/php/t/39262

对于V1:使用pecl最快,因为利用内核特性获得增量数据。

对于V4:使用Polyfill最快,因为php使用了sys_getrandom()获取随机数。

 

PHP安装扩展Pecl生成UUID

(原文链接:https://www.cnblogs.com/us80/articles/2635285.html

 

题外:

php的函数uniqid() 可以尽力生成一个唯一ID

[PHP] - UUID

标签:php安装   blank   出现   就是   随机   uid   div   details   tps   

原文地址:https://www.cnblogs.com/jiangml/p/12155925.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!