UUID-Generator

Andere Werkzeuge

Drehe das Rad{$ ',' | translate $} Timer{$ ',' | translate $} Einheitenumwandler{$ ',' | translate $} Eine Münze werfen{$ ',' | translate $} Zufallszahlengenerator{$ ',' | translate $} Online-Würfel{$ ',' | translate $} BMI-Rechner{$ ',' | translate $} Kalorienrechner{$ ',' | translate $} Grundumsatz-Rechner{$ ',' | translate $} Körperfettrechner{$ ',' | translate $} Täglicher Gesamtenergieumsatz{$ ',' | translate $} Tabata-Timer{$ ',' | translate $} Prozentsatz-Rechner{$ ',' | translate $} QR-Code-Generator{$ ',' | translate $} Passwort-Generator{$ ',' | translate $} Reaktionszeit-Test{$ ',' | translate $} Tippgeschwindigkeitstest{$ ',' | translate $} CPS-Test{$ ',' | translate $} Wörter zählen{$ ',' | translate $} Fallkonverter{$ ',' | translate $} Textvergleich{$ ',' | translate $} Hypotheken-Rechner{$ ',' | translate $} Darlehensrechner{$ ',' | translate $} Autokreditrechner{$ ',' | translate $} Mehrwertsteuer-Rechner{$ ',' | translate $} Zinseszinsrechner{$ ',' | translate $} Gehaltsrechner{$ ',' | translate $} Virtuelles Klavier{$ ',' | translate $} Hintergrundgeräusch-Generator{$ ',' | translate $} Metronom{$ ',' | translate $} Rabattrechner{$ ',' | translate $} Aktuelle Wochennummer{$ ',' | translate $} Trinkgeldrechner{$ ',' | translate $} Zeitrechner{$ ',' | translate $} Datumsrechner{$ ',' | translate $} Altersrechner{$ ',' | translate $} Währungsrechner{$ ',' | translate $} Schlaf-Rechner{$ ',' | translate $} Mondphasen{$ ',' | translate $} Generator für Farbpaletten{$ ',' | translate $} Farbwähler{$ ',' | translate $} Farbpaletten-Generator{$ ',' | translate $} Ringgrößen-Rechner{$ ',' | translate $} Bekleidungsgrößen-Rechner{$ ',' | translate $} Schuhgrößen-Rechner{$ ',' | translate $} BH-Größenrechner{$ ',' | translate $} Eisprungrechner{$ ',' | translate $} Fälligkeitsrechner{$ ',' | translate $} Sternzeichen{$ ',' | translate $} IQ-Test{$ ',' | translate $} Emoji{$ ',' | translate $} Stoppuhr{$ ',' | translate $} Countdown{$ ',' | translate $} Wecker{$ ',' | translate $} Subnetzrechner{$ ',' | translate $} Internet-Geschwindigkeitstest{$ ',' | translate $} IP-Adresse{$ ',' | translate $} Base64-Konverter{$ ',' | translate $} MD5-Hash-Generator{$ ',' | translate $} Markdown-Editor{$ ',' | translate $} Lorem Ipsum-Generator{$ ',' | translate $} Pomodoro-Timer

UUID/GUID generieren

UUID/GUID generieren

Der Universally Unique Identifier (UUID), auch bekannt als Globally Unique Identifier (GUID), wird in Computersystemen häufig verwendet.

Es handelt sich um einen 128-Bit-Code, der vom System basierend auf Variablen und Konstanten generiert wird: aktuelle Zeit, MAC-Adresse, SHA-1-Hash, MD5-Namespace. Das Endergebnis der Generierung einer UUID, angezeigt als 32-stelliger alphanumerischer Code, getrennt durch Bindestriche, mag willkürlich erscheinen, ist aber tatsächlich das Ergebnis komplexer Berechnungen. Ein Computer „erfindet“ also keinen Code, sondern bildet ihn aus bestimmten technischen Größen, die zu einem bestimmten Zeitpunkt relevant sind.

Die Wahrscheinlichkeit, dass dieselbe UUID zu unterschiedlichen Zeiten auf zwei verschiedenen Computern generiert wird, tendiert gegen Null, was es ermöglicht, die resultierenden Codes zur punktuellen/lokalen Datenidentifizierung ohne Rückgriff auf das Koordinierungszentrum zu verwenden. Heutzutage ist UUID/GUID sowohl in Online- als auch Offline-Netzwerken allgegenwärtig und funktioniert nicht nur im globalen Internetraum, sondern auch in eigenständigen Computersystemen effektiv.

UUID-Verlauf

128-Bit-UUID-Codes wurden erstmals in den 1980er Jahren von der amerikanischen Firma Apollo Computer verwendet. Sie basierten auf den einfacheren 64-Bit-Codes, die in Domain/OS verwendet wurden, und fanden weit verbreitete Verwendung in der Computerumgebung der Open Software Foundation.

Mit dem Aufkommen der ersten Windows-Plattformen wurde die weltweit eindeutige Kennung verallgemeinert und standardisiert. Microsoft hat das DCE-Design von Apollo Computer übernommen und den URN-Namespace in RFC 4122 registriert. Letzterer wurde 2005 von der IETF als neuer Standard vorgeschlagen und UUID innerhalb der ITU standardisiert.

Anfang 2002 wurden Probleme mit der Systemleistung festgestellt, wenn UUIDs als Primärschlüssel in lokalen Datenbanken verwendet wurden. Diese wurden in Version 4 behoben, indem ein nicht zufälliges Suffix basierend auf der Systemzeit des Computers hinzugefügt wurde. Der sogenannte COMB-Ansatz (Combined GUID Time Identifier) ​​erhöhte die Risiken der Codeduplizierung, verbesserte aber gleichzeitig die Leistung bei der Arbeit mit Microsoft SQL Server deutlich.

Mit der Entwicklung der IT-Technologien ist der universelle eindeutige Identifikator kein hochspezialisiertes technisches Werkzeug mehr und kann heute von jedem genutzt werden. Die Wiederholungswahrscheinlichkeit der generierten Codes ist nicht gleich Null, sondern tendiert dazu, und jede digitale Information kann durch sie identifiziert werden, wonach sie mit minimalem Wiederholungsrisiko zu einzelnen Datenarrays kombiniert werden kann.

UUID-Vorteile

Generatoren globaler eindeutiger Codes erfordern keinen zentralen Datenabgleich/-synchronisierung und sind für alle Benutzer frei verfügbar. Zu den Hauptvorteilen von UUID gehören:

  • Minimales Risiko einer „Kollision“ (Wiederholung) von Codes. Trotz ihres massiven Einsatzes tendiert die Wiederholungswahrscheinlichkeit gegen Null.
  • Möglichkeit, verschiedene Datenarrays mithilfe von UUIDs als primäre (eindeutige) Schlüssel zu verbinden.
  • Vereinfachte Verteilung von Daten auf mehrere verteilte Server.
  • Möglichkeit, Codes offline zu generieren.

Eindeutige Identifikationscodes, geschrieben im Format xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, ermöglichen es verteilten Systemen, Informationen ohne Koordination von einem einzigen Rechenzentrum aus zu erkennen: mit einer nahezu null Wahrscheinlichkeit von Fehlern/Wiederholungen. Diese Funktion macht UUID zusammen mit der Benutzerfreundlichkeit und den geringen Anforderungen an die Computerleistung in einer Vielzahl von IT-Branchen und autonomen Computersystemen gefragt und unverzichtbar.

Universeller eindeutiger Objektbezeichner

Universeller eindeutiger Objektbezeichner

Die UUID kann Codes mithilfe verschiedener Algorithmen und Variablen/Konstantenwerte generieren.

Es gibt insgesamt 5 Versionen der Kennung, die bei der Generierung Systemdatum/-zeit und MAC-Adressen, DCE-Sicherheitsprotokolle, MD5-Hash, SHA-1-Hash und Namespace verwenden.

In allen Fällen wird das Endergebnis im Format xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx angezeigt (eine Zahl in hexadezimaler Schreibweise, bestehend aus lateinischen Kleinbuchstaben und Zahlen, unterteilt durch Bindestriche in fünf Blöcke: 8-4). -4-4- 12), M steht für Version, N steht für UUID-Variante.

Das System verwendet also jeweils 36 Zeichen (26 Buchstaben und 10 Zahlen), sodass die Wahrscheinlichkeit der Wiederholung von 32-stelligen Codes gegen Null geht, obwohl sie täglich von Millionen von Benutzern auf der ganzen Welt generiert werden.

UUID-Versionen

Version 1

Die erste Version der eindeutigen Kennung basiert bei der Codegenerierung auf der MAC-Adresse des Computers und seiner Systemzeit, die ihren numerischen Wert einmal pro Sekunde ändert. Der Generierungsprozess besteht aus fünf Phasen:

  • Die unteren 32 Informationsbits werden dem UTC-Tag entnommen. Sie werden in 8 Hexadezimalzeichen umgewandelt und belegen 4 Bytes.
  • Im Durchschnitt werden 16 Bit an Informationen aus demselben UTC-Label entnommen und in 4 Hexadezimalzeichen umgewandelt, die 2 Bytes belegen.
  • Die oberen 12 Bits der Informationen aus dem UTC-Tag werden übernommen und in 4 weitere Hexadezimalzeichen umgewandelt.
  • Weitere 1–3 Bits fallen in die Taktsequenz und verringern das Risiko von Kollisionen, indem ein gewisses Maß an Zufälligkeit/Unsicherheit eingeführt wird. Die Systemzeit wird entweder bedingt verlangsamt oder zurückgesetzt – damit sich zwei oder mehr Identifier, die gleichzeitig auf demselben Computer arbeiten, nicht „kreuzen“.
  • Die restlichen 6 Bytes sind ein konstanter Wert, der basierend auf der MAC-Adresse des Geräts generiert wird. Es besteht aus 12 hexadezimalen Zeichen und ist 48 Bit groß.

Da der Algorithmus der ersten Version der UUID untrennbar mit der Systemzeit verknüpft ist, ist die Verwendung der Uhrensequenz zwingend erforderlich. Andernfalls erhöht sich das Risiko der Generierung derselben Codes um ein Vielfaches – in der Sekunde, in der die Systemzeit auf dem einen oder anderen Wert „einfriert“.

Version 2

Die zweite Version unterscheidet sich minimal von der ersten und wird in der Praxis selten verwendet. Anstelle einer Taktsequenz wird eine Systemkennung verwendet, die an Benutzerdaten oder andere eindeutige Werte gebunden ist, die auf anderen Computern nicht oder nur sehr selten wiederholt werden. Der Effekt der Zufälligkeit wird in der zweiten Version minimiert und kann zur Verbesserung der Sicherheit einer verteilten Computerumgebung verwendet werden.

Versionen 3 und 5

Sie haben viele Gemeinsamkeiten: Sie verwenden eindeutige Namen und Namen (aus dem MD5-Bereich), um Codes zu erstellen, also nicht zufällige Werte. Nur Version 3 verwendet einen Standard-Hash, während Version 5 einen SHA-1-Hash verwendet. Solche Bezeichner sind weniger abhängig von Zufallsvariablen.

Version 4

Die Generierung dieser UUID-Version erfolgt zu mehr als 90 % zufällig. Es hat 6 Bits für konstante Werte und 122 für beliebige Werte. Die Implementierung des Algorithmus besteht darin, dass zunächst 128 Bits an Informationen zufällig generiert werden und 6 davon durch Versions- und Variantendaten ersetzt werden.

Die Rolle des Pseudozufallszahlengenerators in der vierten Version ist maximal, und wenn er über einen zu einfachen Algorithmus verfügt, steigt das Risiko von Wiederholungen/Kollisionen erheblich. Trotzdem ist es die vierte Version, die mit Abstand am häufigsten vorkommt und in der Praxis am häufigsten verwendet wird.

UUID-Optionen

Die einzigartige UUID wurde im Laufe der Entwicklung der Computertechnologie mehrmals verfeinert und wird heute in mehreren Versionen präsentiert.

Option 0

Konzipiert für die Verwendung mit älteren Datenbanken im Apollo Network Computing System 1.5 1988-Format. Diese Option ist abwärtskompatibel mit ihnen und steht nicht in Konflikt mit historischen NCS-UUIDs.

Optionen 1 und 2

Wird zur Identifizierung moderner Datenblöcke und Arrays verwendet und unterscheidet sich in kanonischer Textform nicht voneinander, mit Ausnahme der Reihenfolge, in der die Variantenbits geschrieben werden. Daher verwendet Option 1 die Big-Endian-Bytereihenfolge und Option 2 die Titel-Endian-Reihenfolge. Die erste ist die Hauptversion und die zweite ist für die Arbeit mit frühen GUIDs von Microsoft Windows reserviert.

Option 3

Derzeit nicht in Gebrauch. Es handelt sich um eine reservierte Version für die zukünftige Verwendung – wenn die Möglichkeiten der vorherigen Optionen ausgeschöpft sind.

Die meisten Systeme kodieren die Kennung im Big-Endian, es gibt jedoch Ausnahmen. Beispielsweise verwendet das Marshalling in den Microsoft COM/OLE-Bibliotheken Mixed-Endian, während Code aus den Title-Endian- und Big-Endian-Blöcken generiert wird. Die erste besteht aus den ersten drei Komponenten der UUID und die zweite aus den letzten beiden.