gpt4 book ai didi

database - 为什么 UUID 标准很复杂,我应该遵循它们吗?

转载 作者:搜寻专家 更新时间:2023-10-30 19:41:43 25 4
gpt4 key购买 nike

RFC 4122定义 UUIDs相当详细。目前定义了 5 种变体,都是 128 位的,但这些位的派生方式有所不同。

为什么要关心遵守特定变体?一旦创建了 ID,使用 UUID 的人有什么理由需要知道它是如何构造的?

特别是,如果我要使用变体 4(完全随机),遵循将随机位从 128 减少到 122(4b 位用于变体,2 位保留)的 RFC 似乎是一种浪费。我不遵循 RFC 并使用所有 128 位来实现随机性不是更好吗?

最佳答案

如果您不遵守规则,那么您的 ID 可能会与其他算法生成的 ID 发生冲突。

由于某些算法(例如 v1)是确定性的,如果您的算法意外生成版本字段中带有“1”的 GUID,攻击者可以强制 GUID 冲突:他们将 MAC 地址设置为与您的 GUID 的最后一部分相匹配,并且等待时间匹配开始部分。然后他们单击“提交”,然后繁荣、GUID 冲突、数据库爆炸、资金转移到开曼群岛。每个算法都旨在避免与自身发生冲突,但无法防止与其他算法发生冲突。只要遵守规则。不要试图偷偷摸摸那些额外的 6 位。

关于database - 为什么 UUID 标准很复杂,我应该遵循它们吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13592027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com