UUID | |
校验结果 | UNKNOW |
版本 | UNKNOW |
可能是全网最强大的 UUID 生成工具!
本工具支持第一版、第三版、第四版(最常用)、第五版 的 UUID 生成,支持同时生成多个,支持设置输出的大小写!同时还带有 UUID 校验功能,可以快速判断一串字符串是否是合法的 UUID 以及获取 UUID 版本。
UUID 的全称是 Universally Unique Identifier,中文为通用唯一识别码。由一组 32 位数的 16 进制数字所构成,以连字号分为五段,表现形式为 8-4-4-4-12 的 32 个字符
xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
如:1bc574b2-8239-4179-9950-292af540bfb0
其中 M 与 N 都有特殊含义
根据日期时间和 MAC 地址生成
每个节点每秒钟可生成 1630 亿个,也就是说每毫秒 163 个
缺点:
根据标识符(通常是组或用户 ID)、日期时间和 MAC 地址生成;
允许一个节点存在 1 万亿个 域名/ID 对象,每个对象每 7 秒产生一个 UUID
一般很少用到
确定性 UUID,通过散列(hashing)命名空间空间(namespace)标识符和名称生成
使用 MD5 作为散列算法,相对来说容易碰撞,不推荐使用,建议用 v5 代替
使用随机数或伪随机数生成
每秒生成 10 亿个,大约需要 85 年才有重复的可能,所以在正常应用情形下这种碰撞概率可以忽略
这个版本的 UUID 是最常用的
确定性 UUID,通过散列(hashing)命名空间空间(namespace)标识符和名称生成
使用 SHA1 作为散列算法
SHA1 比 MD5 更不容易碰撞
可用于加密用户密码,比如我的密码是 123456,sha1 固定为 7c4a8d09ca3762af61e59520943dc26494f8941b,所以一旦数据库数据泄露,很容易枚举出简单的密码原文。但使用 v5 算法后加入了特定的 namespace,会得到完全不同,且不具备普遍性的 UUID 串,这样就很难破解出密码原文了。
暂时还没有应用
因为时间戳和随机数的唯一性,v1 和 v4 总是生成唯一的标识符。若希望对给定的一个字符串总是能生成相同的 UUID,则需要使用 v3 或 v5