![]() |
1
8
没有必要。hash-uri和md5或sha1等等。guid不用于散列。它们意味着独立于其他事物而被创造出来。 |
![]() |
2
8
“正确”的方式(根据 RFC 4122 _§4.3)创建基于名称的UUID。这样做(而不仅仅是使用MD5散列)的好处是保证它们不会与非命名UUID发生冲突,并且与其他基于名称的UUID发生冲突的可能性非常小(非常小)。 .NET框架中不支持创建这些内容,而是使用代码 similar to this ,您可以创建一个guid,如下所示:
为了进一步降低与其他guid冲突的风险,您可以创建一个私有的guid用作命名空间ID(而不是使用在rfc中定义的url命名空间ID)。 |
![]() |
3
3
如果您可以选择集中式注册表/数据库,则可以维护一个guid<->URL解析器,并为您需要的每个URL生成一个新的guid。这将按照预期的方式使用guid,从而最小化与本机生成的guid发生冲突的可能性。 |