This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author terrygreeniaus
Recipients ned.deily, remi.lapeyre, ronaldoussoren, terrygreeniaus, veky
Date 2020-08-15.00:20:55
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1597450855.49.0.643694475026.issue41552@roundup.psfhosted.org>
In-reply-to
Content
xoring does not guarantee uniqueness and has a good chance of discarding it, so it seems like a bad idea to me.

Suppose I have exactly two adapters with MAC addresses 0 and 3.
Suppose you have exactly two adapters with MAC addresses 1 and 2.

We'll both xor all our addresses and both get 0 ^ 3 == 1 ^ 2.  This trivially extends to 48 bits.

Suppose I have exactly two adapters from the same manufacturer.  The xor will throw away all of the "uniqueness" guaranteed by the manufacturer OUI and replace it with 0.

Suppose you have exactly two adapters from a different manufacturer (and nothing else).  The xor will throw away all of your "uniqueness" guaranteed by the manufacturer OUI and replace it with 0.

Now the only uniqueness between your UUIDs and my UUIDs will be the timestamp and the low-order bits of the xor'd MAC, whereas without the xor your UUIDs and my UUIDs would have absolutely been guaranteed to be unique since they are from different manufacturers with different OUIs.

I realize that the documentation for uuid1() states that it isn't guaranteed to give unique addresses if the time synchronization necessary isn't supported by the platform, so I suppose this could even be a documentation fix if no real solution can be found, but that would be really undesirable.
History
Date User Action Args
2020-08-15 00:20:55terrygreeniaussetrecipients: + terrygreeniaus, ronaldoussoren, ned.deily, veky, remi.lapeyre
2020-08-15 00:20:55terrygreeniaussetmessageid: <1597450855.49.0.643694475026.issue41552@roundup.psfhosted.org>
2020-08-15 00:20:55terrygreeniauslinkissue41552 messages
2020-08-15 00:20:55terrygreeniauscreate