我们最近开发的ASP.Net应用程序正在创build我认为是非标准的Guid。 Guid使用.Net框架方法Guid.NewGuid()创build。 这里是一些创build的GUID的例子:
00000000-0000-0000-210f-0160000000f6
00000000-0000-0000-c02b-0160030000fc
00000000-0000-0000-CA2B-0160030000fc
00000000-0000-0000-3f12-0160000000f6
00000000-0000-0000-6812-0160000000f6
00000000-0000-0000-8112-0160000000f6
00000000-0000-0000-eae0-0060000000f1
00000000-0000-0000-6d57-0160030000fd
00000000-0000-0000-2564-0160020000ee
00000000-0000-0000-CF 2 C-0160030000ee
为什么他们都是从0开始的? 为什么Guid的后半部分大部分如此相似呢? 我使用Guids的一般经验是,这是非常不标准的。
这发生在我们所有的应用程序服务器上,但不在开发环境中。
还有其他一些兴趣点:1)在开发环境(Windows XP,VS2008,.Net 3.5)中生成的Guids看起来很好,正如我所期望的那样。 2)我们在相同的应用程序服务器(testing和生产)的Windows服务中使用相同的方法,创build的GUID是我所期望的。 3)应用程序服务器是Windows Server 2003 SP1。 ASP.Net应用程序使用IIS6运行。
我的主要问题是:1)有人可以证实我的信念,这些Guids是不标准的,到不正确的地步。 2)你知道他们是否仍然是唯一的吗? 3)有没有办法纠正这种行为?
感谢任何人提前帮助。 保罗。
是的,他们是不正确的,因为他们显示出明显的模式。 GUID应该是分布良好的,并不显示任何模式。
你是否正在使用普通网卡或虚拟机? NIC的ID有助于GUID。 ( http://www.famkruithof.net/guid-uuid-timebased.html )
尝试“ipconfig / all”并查找物理地址。 如果全是零或其他明显的模式,那可能就是问题了。