为什么没有人用md5(UUID(), 16)来生成16位大小写不敏感的唯一取值?

发布于 2022-09-01 12:56:50 字数 198 浏览 13 评论 0

最近我在考虑如何缩短UUID的长度,大部分人说用Base64等方法, 但是我很奇怪, UUID()是唯一的, md5()后的值也很难冲突, 为什么很少有人用呢? 我本人是UUID用习惯了, 最近才考虑到长度的问题, 所以数据库主键由UUID改为16个字符长度的md5(UUID(), 16)需要该不少地方, 像URL重写, 正则匹配等, 但是为啥没有人用呢? 是不是有什么缺陷?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

玩心态 2022-09-08 12:56:50
  1. uuid和md5都是128bit的字符串。
  2. uuid通过一定生成方式保障了独特性。 md5则没有。
梦醒灬来后我 2022-09-08 12:56:50

可以的 . 理论上没有问题 . 其实 uuid 也是根据 时间用 crypt() 函数生成的.

你要知道 md5 也是他的一种

装迷糊 2022-09-08 12:56:50

md5不等于唯一啊

洒一地阳光 2022-09-08 12:56:50

你可以用时间戳精确到微秒在MD5,不放心的话在加salt在MD5,在不放心就在rand再MD5咯。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文