Zum Hauptinhalt springen

UUID Version 4 Generator

UUIDv4 • Kryptografisch Zufällig
00000000-0000-0000-0000-000000000000
Einschließen:

Massen-UUID-Generierung

Max. 5.000
Formatierung & Struktur

Bereit

No batch active
IndustriestandardRFC 9562 Abschnitt 5.4 / RFC 4122

UUID Version 4 Technische Spezifikation (RFC 4122 & RFC 9562)

UUIDv4 ist die weltweit am häufigsten verwendete UUID-Version. Von insgesamt 128 Bits bestehen exakt 122 Bits aus kryptografisch sicheren Zufallswerten, während 6 Bits für Version (0100) und Variante (10xx) reserviert sind.

Bitfeld-Layout & Binärstruktur

Detaillierte 128-Bit-Byte-Verteilung nach RFC-Standards.

FeldnameBit-BereichZweck & Beschreibung
random_hi48 Bit (0-47)Kryptografisch sichere Pseudozufalls-Entropie.
ver4 Bit (48-51)Konstanter Binärwert 0100 (identifiziert Version 4).
random_mid12 Bit (52-63)Kryptografisch sichere Pseudozufalls-Entropie.
var2 Bit (64-65)Konstanter Binärwert 10 (RFC-Standard-Variante).
random_lo62 Bit (66-127)Kryptografisch sichere Pseudozufalls-Entropie.

Vorteile & Stärken

  • Maximaler Datenschutz: keine Offenlegung von Zeitstempeln, MAC-Adressen oder Host-Details.
  • Universelle Unterstützung in allen Programmiersprachen und Datenbank-Engines.
  • Vollkommen unvorhersehbar und immun gegen IDOR-Aufzählungsangriffe.
!

Einschränkungen & Kompromisse

  • Schlechte Schreib-Performance in Datenbank-B-Tree-Indizes durch regellose Speicherzugriffe.
  • Ohne zusätzliche Spalte created_at nicht chronologisch sortierbar.

Am besten geeignet für

  • API-Keys, Sitzungstoken, Passwort-Reset-Links und OAuth-Status-Werte.
  • Opake, nach außen sichtbare Benutzer-IDs.
  • Verteilte Caches (Redis, Memcached) und unindizierte Schlüssel.

Vermeiden bei

  • Schreibintensive Primärschlüssel in relationalen Datenbanken (nutzen Sie UUIDv7).
  • Tabellen, die eine natürliche lexikografische Sortierung erfordern.

Code-Implementierungsbeispiele

Native Web CryptoJavaScript / TypeScript
// Modern browsers and Node.js 14.17+
const id = crypto.randomUUID();
console.log(id); // e.g. "c9a646d3-9c61-4cc9-bc0c-930438cf38cf"
Python Standard LibraryPython
import uuid

id = uuid.uuid4()
print(id) # e.g. "f47ac10b-58cc-4372-a567-0e02b2c3d479"
Go (google/uuid)Go
package main

import (
  "fmt"
  "github.com/google/uuid"
)

func main() {
  id := uuid.New()
  fmt.Println(id.String())
}

Häufig gestellte Fragen

Wie viele mögliche UUIDv4 gibt es?
Mit 122 Bit Zufallsentropie (ca. 5,3 × 10³⁶ Kombinationen) liegt die Wahrscheinlichkeit für eine Kollision bei unter eins zu einer Milliarde, selbst wenn 85 Jahre lang jede Sekunde eine Milliarde IDs generiert werden.
Verwendet dieser Generator Math.random()?
Nein. Es wird ausschließlich die standardisierte Web Crypto API (crypto.getRandomValues) genutzt, die Zufallsdaten direkt aus dem Kernel-CSPRNG bezieht.