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
Industriestandard•RFC 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.