views:

90

answers:

1

An ASP.Net application we have recently developed is creating what I believe to be non standard Guids. The Guids are being created using the .Net framework method Guid.NewGuid(). Here are some examples of the guids created:

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-cf2c-0160030000ee

Why do they all begin with 0's? Why is most of the latter half of the Guid so similar? My general experience of using Guids is that this is very much non standard.

This happens on all our application servers but non in the development environment.

There are some other points of interest: 1) The Guids produced in the development environment (Windows XP, VS2008, .Net 3.5) seem fine and are as I would expect. 2) We use the same method in a Windows Service on the same application servers (test and production) and the Guids created are as I would expect. 3) The application servers are Windows Server 2003 SP1. The ASP.Net application is run using IIS6.

My main questions are: 1) Can someone confirm my belief that these Guids are non standard, to the point of being incorrect. 2) Do you know if they are still guaranteed to be unique? 3) Is there a way to correct this behaviour?

Appreciate anyones help in advance. Paul.

+1  A: 

Yes, they're incorrect because they show an obvious pattern. GUID's are supposed to be well-distributed and show no pattern.

Are you using a computer with a regular network card or some sort of odd VM? The NIC's ID contributes to the GUID. (http://www.famkruithof.net/guid-uuid-timebased.html)

Try "ipconfig /all" and look for Physical Address. If it's all zeros or some other obvious pattern, that may well be the problem.

Steven Sudit