Live data from Hacker News

Every V4 UUID

everyuuid.com

211–220 of 381 posts

Re: Every V4 UUID

#211
post #157

Earlier quoted context omitted.

It’s an interesting question whether that could be fixed. I think the answer is Yes. If the author didn’t do any scrambling, and just displayed UUIDs in numeric order, then it’s trivial to enumerate search results in order. Likewise, if you do something like adding a constant mod 16 to each hex digit, you could do the same thing when you generate UUIDs matching a substring. So the question becomes whether you could f…

FWIW I am super interested in this question but feel like I don't know how to derive a satisfying answer, maybe because the one of my goals here (add "enough" entropy) is a real fuzzy "I know it when I see it" sort of thing. But I'm gonna try to get a few more crypto-knowledgeable friends to chat with me about this and write up what I learn!

You've sniped me and I'm going to try and tackle this over the weekend. What's the best way to exchange things for you? Also, have you explored modular multiplicative inverses at all?

Re: Every V4 UUID

#213

Tangentially related: HN recently (last few months) had an article explaining how large a number was. The number was something like busy beaver or 128 bit integers or something else. It illustrated how large the number was by creating activities you would do, incrementing the counter as you did them. The sequence went something like this: Walk, and every time you take a step. Add 1 After you have circled the earth, p…

The number you're thinking of is 52! (52 factorial) and how long it would take for 52! seconds to pass by. Vsauce has a great video on this, and might be where that example was taken from. https://www.youtube.com/watch?v=ObiqJzfyACM That example starts 16 minutes into the video: https://www.youtube.com/watch?v=ObiqJzfyACM&t=964s But it's worth watching the whole thing.

I found a text version of the same (?) thing: https://czep.net/weblog/52cards.html

Re: Every V4 UUID

#214
post #67

Earlier quoted context omitted.

Yeah, I at first, I though I knew exactly how it worked. Then I saw the search field, and I suddenly had no idea what the hell was going on. Now, the big question, do I want to spoil the magic trick and read how this was done, or should I keep being astonished and flabbergasted?

As with any magic trick, reading the explanation might leave you a little disappointed here.

I'm the opposite. The magic is not in what the magician shows, but in what they elegantly manage to hide.

Re: Every V4 UUID

#216
post #142

Earlier quoted context omitted.

Memorable UUIDs? I think you're on to something here! (Also, dibs on 00000000-0000-4321-abcd-000000000001!)

The most offensive sentence I could come up with leetspeak/hexspeak is this one: fe11a710-babe-4150-ace5-b19b1accd1cc (Yes it's a valid UUID) (I am so sorry)

Terrible day to be a very specific kind of literate.

Re: Every V4 UUID

#218
post #196

Earlier quoted context omitted.

Agreed. Everyone love puzzles that are worthy of an entire section in a blogpost for their interview questions, rather than stuff actually relevant to the job.

So I just brute forced every UUID in existence on my RTX GPU and loaded the dataset into a HA opensearch cluster on AWS. It took about 5 years of calling ‘uuid.Random()’ to effectively cover about 64% of the keyspace which is good enough. To facilitate full-text search I created a langchain application in python, hosted on kubernetes, that takes your search query and generates synonymous UUIDs via GPT o1-preview befo…

[dead]

Re: Every V4 UUID

#219
post #69

The fact that the search works impressed me more than anything. Of course, like every great magic trick, it seems so simple once it is explained. For the curious, here's the linked blog post describing how the project works: https://eieio.games/blog/writing-down-every-uuid/ Edit to add: I'd only tried searching for an exact UUID when I wrote this comment. I didn't realize it supports full text search! Now I'm even mo…

I'm really happy that the trick was magical to you - I was so surprised and delighted when I realized that this was possible, and I wasn't really sure if anyone else would feel the same way! And of course, I'm proud to be providing so much utility here - finally we can find and use UUIDs tailor-fit to our needs

> If we didn’t care about generating valid UUID v4s, we could just generate 2^128 numbers, scramble them, convert the resulting bits into a hex string, and intersperse some dashes.

You can do that anyway. You'd only need the twiddling if you wanted to limit the amount of numbers you generate to 2^122. Since you're willing to generate 128 bits:

    // get encrypted value
    uint128 bits = encipher(seed);
    // clear zero bits
    bits &= 0xFFFFFFFF FFFF 4FFF BFFFFFFFFFFF; // instead of 4 and B, you can use 0 and 3
    // set one bits
    bits |= 0x00000000 0000 4000 800000000000; // these have to be 4 and 8
But since you're generating more numbers than you need, you're going to end up with 64 copies of each UUID in your final stream. This won't matter because no one will ever be able to notice, as long as your faux search functions avoid pointing it out.

Exercise for further development: modify substring search so that it follows the expected behavior of finding matches in order within the page. [I don't recommend attempting this.]

Re: Every V4 UUID

#220
post #17

Seems like some hacker leaked all UUIDs. Check if your UUIDs are part of the leak.

I think this is a joke, but I think it is a problem if someone finds any sensitive uuid here, because the list on this website is a tiny subset of all possible uuids, so it provides a useful rainbow table for anyone attempting brute force attacks. I.e. generating and using random uuids would have an astronomically small success rate, whereas trying the ones on this site may not (depending on where they came from, which I'm not sure of).
Post reply on HN