GUID- und UUID-Generator

Erzeuge UUID-v4- oder v7-Sätze mit sicherem Browserzufall. Prüfe Struktur und v7-Zeit und exportiere Text, CSV, JSON oder SQL-Werte.

Anleitung

Erzeuge UUID-v4- oder v7-Sätze mit sicherem Browserzufall. Prüfe Struktur und v7-Zeit und exportiere Text, CSV, JSON oder SQL-Werte.

Schritt 1

Erzeugung oder Prüfung wählen

Festes Beispiel

12816 × 8

Nutze UUIDs erzeugen, wenn du neue v4- oder v7-Werte brauchst. Nutze Prüfen und analysieren, wenn du eine vorhandene Kennung hast und ihre kanonische Form, Variante, Version oder den UTC-Zeitstempel von v7 brauchst.

Schritt 2

Satz und Ausgabeform festlegen

Festes Beispiel

8 - 4 - 4 - 4 - 12550e8400-e29b-41d4-a716-446655440000

Für die Erzeugung wählst du v4 oder v7, gibst eine ganze Anzahl von 1 bis 1.000 ein und wählst danach Textformat, Kodierung und Ausgabeformat, die das Zielsystem erwartet.

Schritt 3

Nur exportieren, was das Ergebnis beweist

Festes Beispiel

v4: 122v7: 48 + 74

Kopiere oder lade nach der Erzeugung die sichtbare Ausgabe herunter. Behandle die Prüfung als strukturelle Inspektion: Sie beweist nicht, woher eine Kennung stammt, ob sie geheim ist oder ob ein Datenbankeintrag existiert.

Praktische Anwendungen

Fixtures für Datenbanken und APIs

Um drei fiktive API-Ressourcen vorzubereiten, wähle UUID v4, Anzahl 3, Kleinbuchstaben, Klartext und JSON-Array und dann UUIDs erzeugen. Das Ergebnis ist ein Array aus drei Zeichenketten, nicht drei Objekte mit einer id-Eigenschaft. Ergänze die umgebenden Fixture-Felder in deinem Testcode. Wenn du das Ausgabeformat auf Eine pro Zeile umstellst, kannst du dieselben Werte prüfen, ohne Ersatzwerte zu erzeugen; Download verwendet dann die Erweiterung des gewählten Ausgabeformats. Notiere die erzeugte Version getrennt, wenn Angaben zur Herkunft des Testdatensatzes benötigt werden. Eine Eindeutigkeitszahl von drei prüft nur diesen Satz, keine vorhandenen Schlüssel in einer Datenbank.

Log- und Ereignisuntersuchungen

Für eine Log-Untersuchung wähle Prüfen und analysieren und füge das feste v7-Beispiel 017f22e2-79b0-7cc3-98c4-dc0c0c07398f ein. Sein Zeitfeld lautet 2022-02-22T19:22:22.000Z in UTC, unabhängig von deiner lokalen Anzeigezeitzone. Vergleiche diesen Hinweis mit einer unabhängig aufgezeichneten Ereigniszeit; die Kennung könnte kopiert oder mit einer falschen Uhr erzeugt worden sein. Kopieren im Prüfmodus gibt die kanonische UUID selbst zurück, nicht einen Untersuchungsbericht mit dekodiertem Zeitstempel. Halte Zeit und Unsicherheit in eigenen Notizen fest, wenn sie für den Vergleich wichtig sind.

Austausch- und Kodierungsprüfungen

Beginne mit einem Testwert und dem dokumentierten Vertrag des empfangenden Systems. Ein UUID-Textfeld erwartet vielleicht Kleinbuchstaben und Klartext; ein binäres Austauschfeld vielleicht Base64 der 16 Bytes. Änderungen an diesen Optionen formatieren denselben Satz neu, sodass du Darstellungen vergleichen kannst, ohne Identitäten zu ändern. Bestätige vor dem Import eines größeren Satzes, dass das Dekodieren die ursprüngliche UUID reproduziert. In CSV setzt dieses Werkzeug Werte in eine Zeile, nicht untereinander in eine einspaltige Datei. Für SQL gibt es eine Liste von Zeichenfolgen in einfachen Anführungszeichen, kein ausführbares INSERT und keine datenbankspezifische Binärumwandlung.

Beispielsatz mit drei UUID-v4-Kennungen
Ein Beispielsatz mit drei UUID-v4-Werten, jeweils in einer eigenen Zeile. Dies sind neu erzeugte Beispielkennungen, keine vorhandenen Zugangsdaten oder API-Schlüssel.

Erzeugung, Versionen und Ordnung

GUID und UUID werden hier als praktische Namen für dieselbe Familie von 128-Bit-Kennungen verwendet. RFC 9562 definiert das 16-Oktett-Layout, das Versionsfeld, das Variantenfeld und die standardisierte Textform 8-4-4-4-12. ClockTools erzeugt nur UUID v4 und UUID v7, während die Prüfung unterstützte RFC-Varianten der Versionen 1 bis 8 sowie Nil- und Max-Sentinelwerte erkennen kann.

Erzeugung ist absichtlich. Beim Öffnen der Seite wird nichts erzeugt. Eine Änderung von Version oder Anzahl bereitet den nächsten Satz vor; sie ändert die bereits angezeigten Identitäten nicht. Textformat, Kodierung und Ausgabeformat formatieren vorhandene Werte sofort um, ohne Ersatzwerte zu erzeugen. Der Ergebnisbereich behält Anzahl und Version des Satzes, der diese Werte tatsächlich erzeugt hat; v7 nach dem Erzeugen von v4 auszuwählen, benennt den alten Satz daher nicht in v7 um.

Dieses Werkzeug verwendet kryptografischen Browserzufall für jede erzeugte UUID und hat keinen schwachen Zufallsersatz. Wenn Web Crypto nicht verfügbar ist oder im begrenzten Wiederholungsfenster wiederholt Duplikate liefert, wird kein Teilsatz behalten. Dieser Fehler ist nützlich, weil ein stiller Ersatz das Ergebnis stärker erscheinen ließe, als es ist.

8 - 4 - 4 - 4 - 12550e8400-e29b-41d4-a716-446655440000
Festes UUID-Layout: fünf hexadezimale Gruppen; Version 4 und RFC-Variante a sind in 550e8400-e29b-41d4-a716-446655440000 hervorgehoben.

v4 oder v7 nach der nachgelagerten Aufgabe wählen

UUID v4 ist die allgemeine Zufallswahl. Nach dem Setzen der erforderlichen Versions- und Variantenbits bleiben 122 Bits zufällig. Sie ist eine gute Voreinstellung für unabhängige Clients, Testdaten, öffentliche Ressourcenkennungen und Systeme, bei denen die Kennung selbst keine Zeit offenlegen soll.

UUID v7 setzt einen Unix-Millisekunden-Zeitstempel in die höchstwertigen 48 Bits und verwendet in dieser Implementierung Zufallsbits für den verbleibenden variablen Raum. Dadurch sortieren sich Werte aus unterschiedlichen Millisekunden grob nach Erzeugungszeit, wenn Uhren vorwärts laufen; das kann Logprüfung und einige Indexmuster unterstützen.

Version 7 ist kein Versprechen strenger Erzeugungsreihenfolge. Dieser Generator fügt keinen monotonen Zähler und keine Sub-Millisekunden-Sequenz hinzu. Werte, die in derselben Millisekunde erstellt werden, enthalten zufällige nachfolgende Bits, und eine rückwärts laufende Geräteuhr kann die sichtbare Ordnung stören.

Versionswahl und Folge
WahlWas ClockTools erzeugtNützlich, wennWichtige Grenze
UUID v4RFC-Variante mit Version 4 und 122 ZufallsbitsUnabhängige Zufallskennungen, Fixtures, API-Ressourcen und DatenbankzeilenSortierreihenfolge ist zufällig und trägt keine Erzeugungszeit.
UUID v7RFC-Variante mit 48-Bit-Unix-Millisekunden-Zeitstempel und zufälligen RestbitsUngefähre Zeitgruppierung für Logs, Ereignisse und EinfügereihenfolgeKein monotoner Zähler; Geräteuhrprobleme beeinflussen die Ordnung.
Prüfen und analysierenKeine neue Kennung wird erzeugtKanonische Form, Variante, Version, Nil/Max oder v7-UTC-Zeit prüfenStruktur ist nicht Herkunft, Eigentum, Eindeutigkeit oder Geheimhaltung.

Was die sichtbaren UUID-Felder bedeuten

Die vertraute Form mit Bindestrichen ist eine Textdarstellung von 16 Bytes. Die fünf Gruppen haben 8, 4, 4, 4 und 12 Hexadezimalziffern, aber die Gruppen sind keine getrennten Zufallszeichenfolgen. Das Versions-Nibble steht am Anfang der dritten Gruppe, und die RFC-Variante steht in der ersten Hexziffer der vierten Gruppe.

Das feste öffentliche v4-Beispiel 550e8400-e29b-41d4-a716-446655440000 hat 4 an der Versionsposition und a an der RFC-Variantenposition. Die Varianten-Ziffer kann für die RFC-Variante 8, 9, a oder b sein, weil die führenden Bits 10 sind. Diese Positionen erklären, wie die Prüfung Felder erkennt; sie verraten nicht, ob die anderen Bits zufällig erzeugt wurden. Ein handgeschriebener Wert kann dasselbe Muster nachahmen.

Die Prüfung erkennt außerdem Nil- und Max-Werte als besondere Sentinels. Nil besteht vollständig aus Nullbits; Max vollständig aus Einsbits. Sie können in einem Protokoll strukturell bedeutsam sein, sind aber keine zufällig erzeugten Kennungen und sollten nicht mit gewöhnlichen eindeutigen Werten verwechselt werden.

Das feste Beispiel lesen
TeilBeispielBedeutung
Kanonische Gruppen550e8400-e29b-41d4-a716-446655440000Fünf Gruppen in hexadezimaler Form 8-4-4-4-12.
Versions-Nibble41d4 beginnt mit 4Version 4 in diesem Beispiel.
Varianten-Nibblea716 beginnt mit aRFC-Variante, weil a eines von 8, 9, a oder b ist.
Nil-UUID00000000-0000-0000-0000-000000000000Reservierter Sentinel aus nur Nullen, keine Zufallsausgabe.
Max-UUIDffffffff-ffff-ffff-ffff-ffffffffffffReservierter Sentinel aus nur Einsen, keine Zufallsausgabe.

Uhr, Eindeutigkeit und Satzverhalten

Für UUID v7 nimmt ClockTools einen Geräteuhr-Millisekundenzeitstempel für den Satz und schreibt ihn in die ersten sechs Bytes jedes Werts. Jeder Wert erhält weiterhin frische Zufallsbytes, bevor Versions- und Variantenbits gesetzt werden. Wenn der Uhrwert nicht in das 48-Bit-Zeitstempelfeld von v7 passt, wird er abgelehnt und die Erzeugung schlägt fehl; der Zeitstempel wird nicht auf 48 Bit gekürzt.

Die Eindeutigkeitszahl ist lokal für den aktuell erzeugten Satz. Der Generator verwendet ein Set und begrenzte Wiederholungsversuche, damit doppelte Zufallsausgaben innerhalb des angeforderten Satzes nicht zurückgegeben werden. Er fragt kein globales Register, keine Datenbank, keinen anderen Tab und keine gestern erzeugten Werte ab.

Wahrscheinlichkeit ist trotzdem nicht dasselbe wie eine Geschäftsregel. Wenn doppelte Schlüssel Folgen hätten, erzwinge Eindeutigkeit dort, wo die Kennungen gespeichert werden, und behandle Konfliktfehler dort. Die Erzeugung kann den Zustand deiner Anwendung nicht kennen. Eine fehlgeschlagene neue Erzeugung löscht den vorherigen Satz, statt ein altes Ergebnis wie eine erfolgreiche neue Anfrage aussehen zu lassen; kopiere benötigte Fixtures also, bevor du mit dem nächsten Satz experimentierst.

Was Eindeutigkeitsaussagen abdecken und was nicht
AussageAbgedecktNicht abgedeckt
Eindeutig in diesem SatzDie sichtbar erzeugten Werte unterscheiden sich voneinander.Keine Prüfung gegen deine Datenbank oder andere Benutzer.
v4-Zufallsbits122 Zufallsbits nach Platzierung von Version und Variante.Keine Aussage, dass der Wert geheim oder für einen Token-Workflow ausreichend unerratbar ist.
v7-ZeitstempelEine dekodierte UTC-Millisekunde aus den ersten 48 Bits.Kein Beweis, dass die Uhr des Erzeugers korrekt oder ehrlich war.
Kein schwacher ErsatzDie Erzeugung stoppt, wenn Web Crypto nicht verfügbar ist.Keine Garantie, dass jede Browser-/Geräte-Entropiequelle identische Qualität hat.

Formate, Prüfung und Exportfolgen

Die Ausgabesteuerungen ändern die Darstellung, nicht die zugrunde liegende Kennung. Kleinbuchstaben, Großbuchstaben, geschweifte Klammern, Anführungszeichen, ohne Bindestriche und URN sind Textformate für denselben UUID-Wert. Kodierung und Ausgabeformat sind getrennte Entscheidungen; wähle sie daher nach dem empfangenden System, statt die längste oder kompakteste Ausgabe automatisch für besser zu halten.

Die Web-Crypto-Spezifikation beschreibt getRandomValues als Quelle kryptografisch starker Zufallswerte, und diese Seite hängt für die Erzeugung von dieser Browser-API ab. Die Formatierung geschieht danach auf der Seite: Base64 kodiert die 16 UUID-Bytes, Base64 URL verwendet das URL-sichere Alphabet, und URL-kodierte Ausgabe percent-kodiert die gewählte Textdarstellung.

Prüfung ist strukturelle Inspektion. Sie akzeptiert 32 Hexadezimalziffern oder genau die Bindestrichform 8-4-4-4-12, optional umschlossen oder als URN präfigiert. Sie meldet kanonische Form, Variante, Version und v7-Zeit, wenn die Felder diese Lesart unterstützen. Sie beweist weder Zufälligkeit, Herkunft, Autorisierung, Datenbankexistenz noch sichere Nutzung als Zugangsdaten.

Jede Ausgabesteuerung hat eine Zielsystem-Folge

Das Textformat ist nützlich, wenn der Empfänger eine gedruckte UUID erwartet. Kleinbuchstaben ist die kanonische Browserausgabe des Generators, Großbuchstaben ist für Systeme mit dieser Konvention, geschweifte Klammern und Anführungszeichen sind Hüllen, ohne Bindestriche ist die kompakte Form aus 32 Hexziffern, und URN fügt das Präfix urn:uuid: hinzu.

Kodierung ist eine andere Ebene. Klartext bewahrt das gewählte Textformat. URL-kodierte Ausgabe percent-kodiert diesen Text. Base64 und Base64 URL ignorieren die Textformat-Hülle und kodieren die 16 Rohbytes in Netzwerkreihenfolge; der Formatwähler ist für diese Kodierungen deaktiviert, weil Klammern oder Großbuchstaben nicht Teil des Bytewerts sind.

Das Ausgabeformat entscheidet, wie mehrere Werte angeordnet werden. Eine pro Zeile lässt sich am einfachsten prüfen. CSV erzeugt eine Zeile mit kommagetrennten Feldern. JSON-Array ist nützlich für Fixtures und Code. SQL-Werte erzeugt Werte in einfachen Anführungszeichen, getrennt durch Kommas; es ist eine Werteliste, keine vollständige SQL-Anweisung.

Format-, Kodierungs- und Ausgabeentscheidungen
SteuerungAuswahlAusgabefolge
TextformatKleinbuchstabenText mit Bindestrichen in Kleinbuchstaben wie 550e8400-e29b-41d4-a716-446655440000.
TextformatGroßbuchstabenDieselbe Kennung mit A-F in Großbuchstaben für Systeme, die diese Darstellung verlangen.
TextformatGeschweifte KlammernUmschließt Text als {550e8400-e29b-41d4-a716-446655440000}.
TextformatAnführungszeichenUmschließt jeden Wert vor der Ausgabeformat-Behandlung mit doppelten Anführungszeichen.
TextformatOhne BindestricheErzeugt 32 Hexadezimalziffern für kompakte Felder.
TextformatURNFügt urn:uuid: vor dem kanonischen UUID-Text hinzu.
KodierungKlartextVerwendet das gewählte Textformat exakt.
KodierungBase64Kodiert die 16 Bytes, zum Beispiel VQ6EAOKbQdSnFkRmVUQAAA==.
KodierungBase64 URLVerwendet URL-sichere Base64-Zeichen und entfernt Padding, zum Beispiel VQ6EAOKbQdSnFkRmVUQAAA.
KodierungURL-kodiertPercent-kodiert das gewählte Textformat für URL-/Query-Kontexte.
AusgabeformatEine pro ZeileSchreibt jeden formatierten Wert in eine eigene Zeile.
AusgabeformatCSVSchreibt eine CSV-Zeile; Anführungszeichen werden vom CSV-Serializer maskiert.
AusgabeformatJSON-ArraySchreibt ein JSON-String-Array mit Einrückung.
AusgabeformatSQL-WerteSchreibt kommagetrennte Werte in einfachen Anführungszeichen, keine ausführbare INSERT-Anweisung.

Bytekodierungen und verschachtelte Anführungszeichen

Für die feste UUID 550e8400-e29b-41d4-a716-446655440000 lauten die Bytekodierungen VQ6EAOKbQdSnFkRmVUQAAA== in Base64 und VQ6EAOKbQdSnFkRmVUQAAA in Base64 URL. Der gewöhnliche Text hat 36 Zeichen, kompaktes Hex hat 32, Base64 mit Padding hat 24 und diese Base64-URL-Form ohne Padding hat 22; die beiden abschließenden = des Base64-Beispiels sind Padding-Zeichen. Sie repräsentieren dieselben 16 Bytes. Stattdessen die 36 gedruckten ASCII-Zeichen zu kodieren, würde eine andere Eingabe kodieren und nicht diese Byteergebnisse liefern.

RFC 4648 beschreibt die Base64- und URL-sicheren Alphabete. Die URL-sichere Form ersetzt Plus- und Schrägstrichzeichen des gewöhnlichen Base64 und lässt in diesem Werkzeug nachgestelltes Padding weg. Groß-/Kleinschreibung zählt auch in beiden Base64-Alphabeten; schreibe einen Base64-Wert nicht klein, als wäre er hexadezimaler UUID-Text. URL-kodiert ist eine dritte Wahl: Klammern werden zu %7B und %7D, während kanonische UUID-Buchstaben, Ziffern und Bindestriche keine Percent-Ersetzung brauchen.

Byte-Reihenfolge gehört zu einem Austauschvertrag. Diese Seite kodiert Bytes in derselben Netzwerkreihenfolge wie der kanonische Hexadezimaltext. Microsofts Guid.ToByteArray-Dokumentation zeigt, dass ihre parameterlose Byteausgabe die ersten drei Feldgruppen relativ zum Text umkehrt. Wenn der Empfänger diese Darstellung verwendet, vergleiche die dokumentierte Byte-Reihenfolge ausdrücklich; die Einigkeit, dass beide Felder eine GUID enthalten, beweist nicht, dass ihre Base64-Zeichenfolgen übereinstimmen.

Auch Anführungszeichen können auf mehreren Ebenen hinzukommen. Das Textformat Anführungszeichen fügt jedem Wert Anführungszeichen hinzu; ein JSON-Ausgabeformat muss diese Zeichen dann in seiner Zeichenkette maskieren, und CSV maskiert sie innerhalb eines Feldes. Zusätzliche maskierte Anführungszeichen können daher korrekte Serialisierung sein, aber trotzdem für einen Empfänger falsch, der eine nackte UUID wollte. Kleinbuchstaben plus Klartext ist ein einfacher Startpunkt für JSON- und CSV-Importe. SQL-Werte verwendet einfache Anführungszeichen; liefere die umgebende Abfragestruktur separat und bevorzuge parametrisierte Anwendungsabfragen, statt erzeugte Zeichenfolgen in eine Live-Abfrage einzufügen.

Derselbe feste Wert, verschiedene Empfangsverträge
AuswahlDarstellungEmpfangsvertrag
Kleinbuchstaben / Klartext550e8400-e29b-41d4-a716-446655440000Eine gedruckte UUID.
Base64VQ6EAOKbQdSnFkRmVUQAAA==16 Bytes in Netzwerkreihenfolge, mit Padding kodiert.
Base64 URLVQ6EAOKbQdSnFkRmVUQAAADieselben Bytes in URL-sicherer Darstellung ohne Padding.
Geschweifte Klammern / URL-kodiert%7B550e8400-e29b-41d4-a716-446655440000%7DPercent-kodierter Text, kein binäres UUID-Feld.

Prüfung ist keine Herkunft

Eine gültige Struktur bedeutet, dass der Text in eine unterstützte UUID-Form passt und seine Versions- und Variantenfelder gelesen werden können. Sie beweist nicht, dass die Kennung von ClockTools, von Web Crypto, von einem bestimmten Dienst oder zur dekodierten v7-Zeit erzeugt wurde.

Bei UUID v7 ist der Zeitstempel nur innerhalb einer größeren Untersuchung ein nützlicher Beleg. Er kann die Geräteuhr eines Generators widerspiegeln, einen absichtlich veränderten Zeitstempel oder einen kopierten Testwert. Behandle ihn als Sortierhinweis und vergleiche dann Serverlogs, Datenbankzeitstempel und vertrauenswürdige Auditaufzeichnungen.

Die Prüfung akzeptiert kompaktes Hex oder Text mit Bindestrichen und kann gewöhnliche Hüllen wie geschweifte Klammern, Klammern, Anführungszeichen oder ein urn:uuid:-Präfix vor der Prüfung entfernen. Sie dekodiert Base64, Base64 URL oder URL-kodierte Eingaben nicht für die Validierung; dekodiere diese Darstellungen im empfangenden System vor der Strukturprüfung.

Die Prüfung akzeptiert jeweils eine Kennung, keine exportierte CSV-Zeile und kein JSON-Array. Erzeugten Wert verwenden fügt die erste ursprüngliche UUID aus dem aktuellen Satz ein, nicht ihre kodierte Anzeige, sodass du einen Satz auch prüfen kannst, während Base64 ausgewählt ist. Die Prüfung erkennt unterstützte RFC-Versionen 1 bis 8, aber die Erzeugung bietet nur v4 und v7. Eine Warnung zu nicht unterstützter Variante kann trotzdem eine normalisierte Form anzeigen; sie ist keine erfolgreiche RFC-Validierung und keine Erlaubnis, Felder des Quellprotokolls umzuschreiben.

Was die Prüfung folgern kann
BeobachtungVernünftige SchlussfolgerungNicht folgern
Kanonische Form angezeigtDer gelieferte Text kann zu Standard-UUID-Text normalisiert werden.Der Wert existiert in deiner Datenbank.
Variante ist RFC 9562Die Variantenbits passen zum RFC-Layout.Der Wert ist in jedem System weltweit eindeutig.
Version ist UUID v7Das Versionsfeld ist 7 und ein Zeitstempel kann dekodiert werden.Der Zeitstempel ist verifizierte Erzeugungszeit.
Nil- oder Max-UUIDDer Wert ist ein reserviertes Sentinelmuster.Er wurde als gewöhnliche Zufalls-ID erzeugt.
Nicht unterstützte Variante oder VersionDie Form ist UUID-ähnlich, liegt aber außerhalb der unterstützten RFC-Lesart dieser Prüfung.Die Eingabe kann ohne Prüfung des Quellprotokolls sicher umgeschrieben werden.

Fehlersuche bei Erzeugung und Export

Ein Anzahlfehler bedeutet, dass die Anzahl keine ganze Zahl von 1 bis 1.000 ist. Das Werkzeug rundet, begrenzt oder reduziert die Anfrage nicht still. Ein Zufallsquellenfehler bedeutet, dass Web Crypto keine verwendbaren Zufallsbytes geliefert hat, also wurden keine Kennungen erzeugt.

Ein Kodierungsfehler kann auftreten, wenn einem Browser die API fehlt, die für die gewählte Ausgabekodierung nötig ist. Wechsle zu Klartext, um den zugrunde liegenden Satz wieder sichtbar zu machen, oder versuche einen anderen Browser. Ein Erzeugungsfehler ist anders: Er verwirft den Satz, statt Teilwerte zu behalten. Zwischenablage-, Teilen- und Downloadfehler erzeugen keine Kennungen neu. Wenn Exportzugriff scheitert, markiere die sichtbare Ausgabe manuell, falls sie verfügbar ist; prüfe Downloads, bevor du annimmst, dass eine gestartete Datei gespeichert wurde.

Füge keine Produktionsgeheimnisse in einen UUID-Bericht ein. Eine UUID kann öffentlich, privat oder sicherheitssensibel sein, je nachdem, wie dein System sie verwendet, aber die Form allein macht sie nicht zu einem Passwort. Für Bearer-Token, Passwortzurücksetzungen oder API-Zugangsdaten nutze einen dafür ausgelegten Geheimnisgenerator und Lebenszykluskontrollen.

Fehlerzustände einordnen
Meldung oder ÜberraschungWahrscheinliche UrsacheNächste Prüfung
AnzahlfehlerAnzahl ist leer, gebrochen, negativ, null oder über 1.000.Eine ganze Zahl von 1 bis 1.000 eingeben.
Sicherer Zufall nicht verfügbarBrowserzugriff auf Web Crypto ist fehlgeschlagen.Einen modernen sicheren Browserkontext verwenden; keine schwache Zufallsausgabe akzeptieren.
ZufallsduplikatfehlerDas begrenzte Wiederholungsfenster konnte keinen eindeutigen Satz füllen.Erneut erzeugen und die Zufallsquelle untersuchen, falls es sich wiederholt.
Uhrfehler für v7Die Gerätezeit passt nicht in das v7-Zeitstempelfeld.Systemuhr prüfen, bevor du dich auf v7-Ordnung verlässt.
Base64 in die Prüfung eingefügt scheitertDie Prüfung erwartet UUID-Text, keine kodierten Bytes.Den Wert zuerst dekodieren oder den ursprünglichen UUID-Text prüfen.

Berechnungsmethode

Die Erzeugung füllt 16 Bytes mit Browser-Web-Crypto-Zufall und setzt danach RFC-Versions- und Variantenbits. UUID v4 lässt nach diesen festen Feldern 122 Bits zufällig. UUID v7 schreibt für den Satz einen Geräteuhr-Unix-Millisekundenzeitstempel in die ersten 48 Bits, füllt die übrigen variablen Bits zufällig und setzt Version 7 plus RFC-Variante. Das Werkzeug prüft Eindeutigkeit nur innerhalb des erzeugten Satzes und formatiert die resultierenden 16 Bytes nach den gewählten Steuerungen.

Grenzen

Die Erzeugung unterstützt nur UUID v4 und v7 mit ganzen Anzahlen von 1 bis 1.000. Es gibt keinen schwachen Zufallsersatz, kein globales Eindeutigkeitsregister, keine Datenbankabfrage, keinen monotonen v7-Zähler und keine Prüfung der Uhrgenauigkeit. Base64- und Base64-URL-Ausgaben sind Kodierungen der 16 Bytes, keine akzeptierten Prüfeingaben. Eine gültige UUID-Form beweist weder Herkunft, Eigentum, Geheimhaltung, Autorisierung noch Datensatzexistenz.

Korrekturen

Für eine reproduzierbare Meldung nenne Modus, Version, Anzahl, Textformat, Kodierung, Ausgabeformat, Browser, exakte sichtbare Fehlermeldung und einen unbedenklichen Beispielwert. Für Prüfprobleme liefere die exakt eingefügte Zeichenfolge und die erwartete Variante oder Version. Füge keine Produktionszugangsdaten, Bearer-Token, privaten Kundenkennungen oder Datenbankzeilen bei, wenn eine öffentliche Test-UUID das Problem zeigt.

Häufige Fragen

Ist GUID dasselbe wie UUID?
Die Begriffe bezeichnen häufig dieselbe Familie von 128-Bit-Kennungen, aber damit ist ihre Byte-Darstellung nicht festgelegt. Eine kanonische UUID-Zeichenfolge kann systemübergreifend geteilt werden, während manche GUID-Byte-APIs Feldbytes anders anordnen. Für gewöhnlichen Text verwende die vom Empfänger akzeptierte Schreibweise; für binären Austausch oder Base64 prüfe zusätzlich die Byte-Reihenfolge. Der Name allein ist kein Kodierungsvertrag.
Soll ich UUID v4 oder UUID v7 wählen?
Verwende v4, wenn du eine unabhängige Zufallskennung ohne Zeitpräfix brauchst. Ziehe v7 in Betracht, wenn eine Kennung mit Zeitstempel am Anfang zum empfangenden System passt und ungefähre Zeitgruppierung hilfreich ist. Prüfe, dass das Ziel v7 akzeptiert; die Version zu ändern ist eine Datenvertragsentscheidung, nicht nur visuelle Gestaltung. Dieser Generator verspricht keine geordneten Werte innerhalb einer Millisekunde und prüft die Genauigkeit der Uhr nicht.
Garantiert die Seite weltweite Eindeutigkeit?
Nein. Die Anzahl prüft nur unterschiedliche Werte in diesem Satz, nicht frühere Sätze, ein anderes Gerät oder deine Datenbank. Behalte eine Unique Constraint und einen Konfliktbehandlungspfad, wo gespeicherte Schlüssel verschieden sein müssen. Eine bestandene Strukturprüfung fügt keine globale Eindeutigkeitsprüfung hinzu: Eine perfekt geformte UUID kann absichtlich kopiert und wiederverwendet werden, unabhängig davon, wie unwahrscheinlich eine Zufallskollision wäre.
Was beweist der v7-Zeitstempel?
Er legt den in den Feldern codierten Millisekundenwert offen und zeigt ihn als UTC. Er ist kein authentifizierter Erzeugungseintrag. Eine Geräteuhr kann falsch sein, ein Zeitstempel kann absichtlich gewählt werden, und ein veröffentlichter Testwert kann später in ein Log kopiert werden. Verwende die dekodierte Zeit als Hinweis und vergleiche sie mit unabhängig aufgezeichneten Ereigniszeiten, bevor du eine chronologische Schlussfolgerung ziehst.
Warum validiert Base64-Ausgabe beim Zurückeinfügen nicht?
Die Prüfung akzeptiert Text-UUIDs, keine kodierte Byte-Nutzlast. Kehre zu Klartext zurück, nutze Erzeugten Wert verwenden oder dekodiere die Bytes nach dem ursprünglichen Byte-Reihenfolge-Vertrag vor der Prüfung. Auch eine URL-kodierte UUID wird nicht automatisch percent-dekodiert. Satzzeichen zufällig zu entfernen ist keine Dekodierung und kann eine fehlerhafte Eingabe in eine unbeabsichtigte Kennung verwandeln.
Sind geschweifte Klammern, Anführungszeichen, keine Bindestriche und URN verschiedene Kennungen?
Nein: Diese Darstellungen können denselben Wert ausdrücken. Die Prüfung akzeptiert gewöhnliche Hüllen und das URN-Präfix und gibt kanonischen Text mit Bindestrichen in Kleinbuchstaben zurück. Ein empfangendes System kann eine Hülle trotzdem ablehnen, obwohl die Identität unverändert ist. Wähle die Darstellung, die es erwartet; nimm nicht an, dass eine Änderung der Textdarstellung eines Feldes auch dessen Datenbanktyp ändert oder daraus eine binäre UUID macht.
Kann ich eine UUID als Passwort oder API-Token verwenden?
Leite Token-Eignung nicht aus der Form ab. Viele UUIDs sind öffentliche Kennungen; v7 legt außerdem ein Zeitfeld offen, und ein strukturell gültiger Wert kann nichtzufällige Inhalte haben. Ein Bearer-Zugangsnachweis braucht eine passende Erzeugungs- und Lebenszyklusgestaltung, einschließlich Autorisierung, Geheimhaltung, Ablauf und Widerruf. Eine unerratbar wirkende Ressourcen-ID ersetzt nie die Prüfung, ob ein Anfragender auf diese Ressource zugreifen darf.
Was passiert, wenn sicherer Zufall nicht verfügbar ist?
Die Erzeugung schlägt fehl und löscht den Satz; sie wechselt nicht zu einer schwächeren Quelle und behält keine Teilanfrage. Verwende einen Browser mit funktionierender Web-Crypto-Unterstützung. Wenn sich ein Duplikatquellenfehler wiederholt, untersuche diese Umgebung, statt der Wiederholung zu vertrauen, sie bestätige die Zufälligkeit. Ein reiner Kodierungsfehler ist anders: Der Wechsel zu Klartext kann den vorhandenen zugrunde liegenden Satz weiterhin anzeigen.
Warum sagt ein altes Ergebnis noch v4, nachdem ich v7 gewählt habe?
Der Schalter konfiguriert die nächste Erzeugung, während das Ergebnis den bereits erstellten Satz beschreibt. Drücke UUIDs erzeugen, um neue v7-Identitäten zu erhalten. Format, Kodierung und Ausgabeformat sind etwas anderes: Sie ändern die Darstellung des aktuellen Satzes sofort. Auch die Anzahl gilt nur für die nächste Anfrage; sie zu senken kürzt die vorhandene Ausgabe nicht auf so viele Einträge.
Warum erzeugen Anführungszeichen plus JSON oder CSV zusätzlich maskierte Anführungszeichen?
Das Textformat Anführungszeichen macht die Anführungszeichen zu einem Teil jedes Werts. JSON oder CSV muss diese Zeichen dann beim Serialisieren seiner Zeichenfolgen maskieren. Das kann gültige Ausgabe sein, ist aber oft nicht die nackte UUID, die ein Ziel erwartet. Verwende Kleinbuchstaben mit Klartext und überlasse das Einfügen und Maskieren von Anführungszeichen dem Ausgabeformat, sofern der Empfänger keine Anführungszeichen innerhalb des Werts ausdrücklich verlangt.
Was bewahren Kopieren, Download und Teilen?
Im Erzeugungsmodus verwenden Kopie und Download die aktuell formatierte Ausgabe; sie hängen die auf dem Bildschirm gezeigten Anzahl- oder Versionszeilen nicht an. Die Prüfung kopiert oder lädt die unterstützte kanonische UUID herunter, nicht alle Prüfangaben. Teilen sendet nur die saubere Werkzeug-URL. Es gibt keinen gespeicherten Satzverlauf; bewahre benötigte Daten daher vor Leeren, Zurücksetzen oder einer neuen Erzeugung auf und prüfe die heruntergeladene Datei, bevor du annimmst, dass sie gespeichert wurde.
Warum wird eine Nil-UUID akzeptiert, obwohl ihre Version null ist?
Nil und Max sind besondere Nur-Nullen- und Nur-Einsen-Muster, die getrennt von gewöhnlicher Versions-/Variantenprüfung erkannt werden. Akzeptanz bedeutet hier, dass der Sentinel erkannt wird, nicht dass er als eindeutiger Schlüssel geeignet ist. Der Generator bietet v4 und v7, keinen Nil-/Max-Erzeugungsmodus. Dein Protokoll oder deine Datenbankregeln müssen entscheiden, ob ein Sentinel in dem geprüften Feld erlaubt ist.