GUID Generators for non-Windows systems?

jay.krell at cornell.edu jay.krell at cornell.edu
Sat Nov 4 21:56:20 EST 2000


> I'm not sure what windows does when there is no ethernet card, but falling
> back on a high-precision timestamp or random generated guid would only be

MSDN October 2000 tells us:

UuidCreate
"For security reasons, it is often desirable to keep ethernet/token ring
addresses on networks from becoming available outside a company or
organization. In Windows 2000, the UuidCreate function generates a UUID that
cannot be traced to the ethernet/token ring address of the computer on which
it was generated. It also cannot be associated with other UUIDs created on
the same computer. If you do not need this level of security, your
application can use the UuidCreateSequential function, which behaves exactly
as the UuidCreate function does on all other versions of the operating
system.

In Windows NT 4.0, Windows 95, DCOM release, and Windows 98, UuidCreate
returns RPC_S_UUID_LOCAL_ONLY when the originating computer does not have an
ethernet/token ring (IEEE 802.x) address. In this case, the generated UUID
is a valid identifier, and is guaranteed to be unique among all UUIDs
generated on the computer. However, the possibility exists that another
computer without an ethernet/token ring address generated the identical
UUID. Therefore you should never use this UUID to identify an object that is
not strictly local to your computer. Computers with ethernet/token ring
addresses generate UUIDs that are guaranteed to be globally unique."

UuidCreateSequential
"For security reasons, UuidCreate was modified so that it no longer uses a
machine's MAC address to generate UUIDs. UuidCreateSequential was introduced
to allow creation of UUIDs using the MAC address of a machine's Ethernet
card.

In Windows 2000, UuidCreateSequential returns RPC_S_UUID_LOCAL_ONLY when the
originating computer does not have an ethernet/token ring (IEEE 802.x)
address. In this case, the generated UUID is a valid identifier, and is
guaranteed to be unique among all UUIDs generated on the computer. However,
the possibility exists that another computer without an ethernet/token ring
address generated the identical UUID. Therefore you should never use this
UUID to identify an object that is not strictly local to your computer.
Computers with ethernet/token ring addresses generate UUIDs that are
guaranteed to be globally unique."

No mention of Windows Millenium Edition..

 - Jay

-----Original Message-----
From: jason petrone <jp at NOSPAMdemonseed.net>
Newsgroups: comp.lang.python
To: python-list at python.org <python-list at python.org>
Date: Saturday, November 04, 2000 4:11 PM
Subject: Re: GUID Generators for non-Windows systems?


>Mike Fletcher <mfletch at tpresence.com> wrote:
>> The E2FSProgs solution looks like the "right" way to go. Does every
>> Linux/Unix system have it (or is it really easy for people to install)?
If
>> so, doing an os.system under a sys.platform check sounds fine (I'm not
going
>> to try and wrap it as a python module on a platform to which I have no
>> access :o) ).
>
>e2fsprogs is only installed standard on linux systems I believe.  And it's
>future is uncertain as it is a package of tools for a
>hopefully-soon-to-be-obsolete filesystem.
>
>Why you don't just use timestamp + MAC address as in windows?  MAC address'
>are pretty easy to get in a cross-unix manner using the ifconfig program.
>
>I'm not sure what windows does when there is no ethernet card, but falling
>back on a high-precision timestamp or random generated guid would only be
>a couple of lines of python.  Thats all e2fsprogs uuidgen does anyways.
>
>-jason
>--
>http://www.python.org/mailman/listinfo/python-list





More information about the Python-list mailing list