【发布时间】:2012-05-27 05:38:26
【问题描述】:
我已经阅读了similar question 和Raymond Chan's blog post,但对于使用缩短的 GUID 作为 id 仍有疑问。我知道 GUID 是唯一的,但 GUID 的子字符串不是。
我正在构建一个网站,为用户提供订单参考号。客户不想使用自动递增的 Int,因为这会暴露订单总数。他们还认为 GUID 太长且难以通过电话重复。
但是,由于我们只有一个 Web 服务器,因此建议我们可以使用 GUID 的非 MAC 地址部分来提供更短的唯一标识符。
我的理解是当前的 GUID 算法不允许这样做。它是否正确?在同一台机器上创建的 GUID 可以缩短但仍然是唯一的吗?
【问题讨论】:
-
附带说明,您的客户可能会遇到税务机关或客户的麻烦,因为国际会计规则要求在给定的一年内,每张发票/订单的编号都高于前一张,或者至少部分数字以这种方式递增(2001-001、2001-002 有效)。 Guids、哈希、随机数不适合这张图片。
标签: asp.net guid uniqueidentifier