【发布时间】:2015-01-27 17:03:45
【问题描述】:
UUID(或 GUID)算法会生成“人工”数字吗?
如:
- 00000000-0000-0000-0000-000000000001
- 11111111-2222-3333-4444-555555555555
- 12345678-...
- AAAAAAA-...
我想知道将 GUID 手动设置为生成自己的 PK(TSQL 中的新 ID 或 NEWSEQUENTIALID)的表的 PK 是否安全。
【问题讨论】:
-
为什么这些样本值会有问题?
-
虽然我不知道生成算法的实际实现,但如果它只是一个随机字节字符串,它总是可能生成任何字节组合,包括,比如说,000000(虽然非常不太可能)。
-
我在受人尊敬的产品中遇到过这样的“虚假”UUID。例如:Apple 使用 'FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000000' 作为 osx 中的 root 用户 ID。
标签: algorithm primary-key guid uuid