Lua生成Guid(uuid)
2024-09-05 22:06:27
全局唯一标识符(GUID,Globally Unique Identifier)也称作 UUID(Universally Unique IDentifier) 。GUID是一种由算法生成的二进制长度为128位的数字标识符。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。GUID 的总数达到了2^128(3.4×10^38)个,所以随机生成两个相同GUID的可能性非常小,但并不为0。GUID一词有时也专指微软对UUID标准的实现。
在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。随机生成两个相同GUID的可能性是非常小的,但并不为0。所以,用于生成GUID的算法通常都加入了非随机的参数(如时间),以保证这种重复的情况不会发生。
function guid()
local seed={'e','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'}
local tb={}
for i=1,32 do
table.insert(tb,seed[math.random(1,16)])
end
local sid=table.concat(tb)
return string.format('%s-%s-%s-%s-%s',
string.sub(sid,1,8),
string.sub(sid,9,12),
string.sub(sid,13,16),
string.sub(sid,17,20),
string.sub(sid,21,32)
)
end local s=0
local start_time=os.clock()
while s<50000 do
s=s+1
print(s,guid())
end
print('execute_time='..tostring(os.clock()-start_time))
最新文章
- c# BlowFish 高速 对称加密
- 基础知识系列☞Abstract和Virtual→及相关知识
- posix thread API列表
- 基类方法的反隐藏 反private 秘籍
- c语言sizeof与strlen的区别
- Java并发编程之ConcurrentHashMap
- Jquery remove()和empty()
- iOS基础 - UITableView的数据源(dataSource)和代理(delegate)
- spring DateUtils
- Linux脚本入门(1)
- [Redis]处理定时任务的2种思路
- Python内置方法中不明了的部分
- Keras实现LSTM
- 如何导出chrome已安装的拓展程序
- 解决ajax请求默认不支持重定向问题
- Git使用(二、分支的创建和上传)
- Coursera, Deep Learning 1, Neural Networks and Deep Learning - week4, Deep Neural Networks
- <;Closing connections idle longer than 60000 MILLISECONDS>; <;Closing expired connections>;
- Django插件之Django-hosts的应用
- SPOJ Triple Sums(FFT+容斥原理)
热门文章
- 【poj 1182】食物链(图论--带权并查集)
- 【noi 2.6_6049】买书(DP)
- Codeforces Round #663 (Div. 2) C. Cyclic Permutations (构造,图?)
- SPU与SKU概念
- 在 Spring Boot 2 中致敬 JSP
- 命令提示符CMD下切换用户
- 指纹采集器Live 20R
- VuePress plugins All In One
- Professional JavaScript for Web Developers 4th Edition
- gitignore auto generator