[fpc-pascal] CreateGUID() [was Re: GUID code]
listmember at letterboxes.org
Sun May 22 04:21:36 CEST 2005
Matt Emson wrote:
>>The reason I would like this is, there are timesone would
>>want to create GUIDs based on self supplied MAC numbers.
> Except, this is not how GUID's are generated under Windows anymore.
> Microsoft bowed to preassure and now use a completely random key generation
> technique. This was because a reaction to the paranoid people shouting that
> Microsoft were attempting to track them via their MAC address. Okay, MAC
> address is by no means unique, but it does single out a very small
> subsection of users to be pinpointed by MAC address. Basing any GUID code on
> MAC address manipulation to gain pseudo random numbers is therefor on shaky
Ah, but you seemed to have missed the gist of my request:
I am aware of Microsoft's plight, and, their problem was due to
having embedded the GUID in to, say, MS Word Docs etc. Not a wise
move wrt privacy, but completely understandable from POV of
Frankly, I still think the privacy issue is there; the GUID stuff
generated during the MS Office install is stored persistently and
every doc you create is watermarked with it. The only way to get
rid of it is either by stripping the *.doc file of the GUID, or
by reinstalling the OS.
Anyway, back to the topic:
First, we all know that you can alter the MAC address reported to/by
the OS, don't we? So, it never was too reliable in the first place.
The reason why one might "want to create GUIDs based on self supplied
MAC numbers" is not for those semi-blackhat cases, we may need that
in order to be able to generate truely unique (or, as unique as we
can) GUIDs and do it faster (i.e. lower overhead) than polling a
random number generator or the OS for the MAC address.
This sort of thing is neded for generating prime keys for disconnected
database operation. As long as the *client* *count* for the database
does not exceed 281,474,976,710,655 (max value you can store in a
6-byte number, i.e. MAC number) we are assured of uniqueness :-)
More information about the fpc-pascal