Willekeurige UUID v4-waarden genereren
Een UUID van versie 4 is een 128-bitswaarde waarvan 122 bits uit een cryptografisch veilige willekeurige bron komen. De overige 6 bits geven de versie en de RFC-variant aan; daarom begint de derde groep van elke v4-UUID met een 4.
Uitgewerkt voorbeeld
- Willekeurige invoerbytes
- 9d 41 7c 02 e8 5b 13 f6 2a 7e c1 94 06 d3 b8 5f
- Resultaat
- 9d417c02-e85b-43f6-aa7e-c19406d3b85f
| Gegenereerde UUID's | Kans op minstens één duplicaat |
|---|---|
| 10⁶ | ≈ 9,4 × 10⁻²⁶ |
| 10⁹ | ≈ 9,4 × 10⁻²⁰ |
| 10¹² | ≈ 9,4 × 10⁻¹⁴ |
| 10¹⁵ | ≈ 9,4 × 10⁻⁸ |
UUID's nodig voor 50% kans op een duplicaat: ≈ 2,71 × 10¹⁸
Zo werkt het
- De generator vult 16 bytes met veilige willekeurige gegevens en zet daarna de hoogste nibble van byte 6 op 4 (versie) en de twee hoogste bits van byte 8 op 10 (variant). De derde groep begint dus met 4 en de vierde met 8, 9, a of b.
- Met 2¹²² mogelijke waarden geeft de verjaardagsbenadering p ≈ 1 − e^(−n²/2¹²³) de kans dat n willekeurige UUID's minstens één duplicaat bevatten.
- Een v4-UUID verraadt geen tijdstempel of hardwaregegevens. Gebruik hem als identificatie, niet als wachtwoord of authenticatiegeheim.
Genereer 1-100 UUIDs tegelijk
Over UUIDs
UUID v1: Tijdgebaseerde UUIDs die een tijdstempel en het MAC-adres van de computer die de UUID genereert bevatten. Handig wanneer u moet weten wanneer de UUID is gemaakt.
UUID v4: Willekeurig gegenereerde UUIDs. Dit is de meest gebruikte versie en biedt goede uniciteit met minimale informatielekken.
UUID v5: Naamgebaseerde UUIDs met SHA-1-hashing. Met dezelfde naamruimte en naam krijgt u altijd dezelfde UUID. Handig voor deterministische UUID-generatie.