> UUID Version 2 (v2) is reserved for security IDs with no known details.<p>Only no known details if the only document you're reading is the notoriously poorly-specified RFC. Here you go: <a href="https://pubs.opengroup.org/onlinepubs/9696989899/chap5.htm#tagcjh_08_02_01_01" rel="nofollow">https://pubs.opengroup.org/onlinepubs/9696989899/chap5.htm#t...</a><p>There are also “version 0” UUIDs that you are very unlikely to ever come across but should be noted because they are the source of the reserved bits (via wastefully setting aside an entire octet for Address Family) that later allowed the other “versions” to be specified in a compatible way. Read my research about them here in my UUID library: <a href="https://github.com/okeeblow/DistorteD/blob/NEW%E2%80%85SENSATION/Globe%20Glitter/lib/globeglitter/chrono_diver.rb#L61-L141">https://github.com/okeeblow/DistorteD/blob/NEW%E2%80%85SENSA...</a><p>I decided to support them Because It's Cool™ but still need to figure out how to handle the date rollover of them and the even-older Apollo UIDs:<p><pre><code> irb> ::GlobeGlitter::from_ncs_time
=> "#<GlobeGlitter 40639cd25341.02.00.00.e0.4c.18.00.69>"
irb> ::GlobeGlitter::from_ncs_time.to_time
=> 1988-12-21 14:52:02 UTC
irb> ::GlobeGlitter::from_aegis_time
=> "#<GlobeGlitter 00000000-0000-0000-4814-17c8b0080069>"
</code></pre>
(Proper AEGIS `#to_str` not implemented yet lol)
> UUID Version 2 (v2) is reserved for security IDs with no known details.<p>I found the details in about 2 minutes: Click the link in the article to take me to the section of RFC 9562 that says it's defined as part of DCE, click the first link in that paragraph to go to the spec, ctrl-f "UUID", then jump to appendix A (deceptively named "Universal Unique Identifier") which has all the details.<p>Is it really too much to ask to CLICK YOUR OWN LINKS?
I wish there's a standard for short UUID, like `73WakrfVbNJBaAmhQtEeDv` or `bK7nP9xM`. I mean, it's not UUID cause it can be duplicated somewhere, I just want an ID standart combination of random and short enough to remember.
UUID v7's timestamp is a game-changer for Databend. We're using it to quickly locate metadata files on AWS S3 by timestamp, making operations like vacuuming much faster.<p>PR: <a href="https://github.com/datafuselabs/databend/pull/16049">https://github.com/datafuselabs/databend/pull/16049</a>
I'm failing at understanding what is the purpose of having uuid2. I didn't even know that more type existed till now. I had only encountered uuid2 when asking xandr to remove my personal data from its database. (discussion about xandr being asked to be investigated in Europe by noyb here <a href="https://news.ycombinator.com/item?id=40913915">https://news.ycombinator.com/item?id=40913915</a>)<p>By reading the Wikipedia page I'm failing at understanding why we invented something called universally unique identifier and have different types of it, some of which can be traced back to the original pc. Is it because mixing some Mac codes increase the chance of the uuid2 being randomic or does it have a different reason? For privacy reason, could we just not have a very long identifier with many different chars to choose from so that we have so many combinations that we're almost guaranteed we're using non duplicated uuids?
Uuid 4 is just a random bytes generator that inserts hyphens in specified places. You don't need to use it, you can just generate random bytes yourself and save on space (unnecessary hyphens, version info and so on)
I suggest not using any of the MAC based versions. In theory that could be anything other than v4 and v7, but v1 is the worst. As well as v3, MD5 is horribly broken.
While I didn't know the details of ones other than 4, the one really useful one missing would be using some SHA256 data with a counter, not unlike PBKDF2. It could be a privacy preserving derived identifier, where you you could loosely prove a given UUID had been derived from a given seed.
Imagine how many careers have been built on inventing and promoting something, in the end, turned out to be a cleverly encoded output from /dev/urandom.
TLDR: UUIDv4 is one of several reasonable choices, but if it ends up mattering: you’re rich and famous and can do arbitrary fixes.<p>Not getting pwned by incrementing href attacks is good, past that, web scale bro.