logo

Java generiert UUID

UUID ist eine weit verbreitete, 128 Bit lange, eindeutige Identifikationsnummer im Computersystem. Es besteht aus hexadezimalen Ziffern, die durch vier Bindestriche getrennt sind. In diesem Abschnitt werden wir diskutieren Was ist UUID? Und So generieren Sie zufällig eine UUID (Version 4) in Java .

UUID

UUID steht für Universell eindeutiger Bezeichner . UUIDs werden von der Open Software Foundation (OSF) standardisiert. Es ist Teil der Distributive Computing Environment (DCE). Eine UUID ist eine 36 Zeichen (128 Bit) lange eindeutige Nummer. Es ist auch als a bekannt Global eindeutiger Bezeichner (GUID).

Java generiert UUID

Die Verwendung von UUID hängt von der Situation, den Anwendungsfällen, der Komplexität und den Bedingungen ab. Einige der Verwendungszwecke von UUID sind:

  • Es wird verwendet, um eindeutige URN (Uniform Resource Names) zu generieren.
  • Es kann auch zur Generierung von Transaktions-IDs verwendet werden.
  • Wird häufig in einer kryptografischen Anwendung verwendet.
  • In einer Webanwendung kann es zur Generierung von Sitzungs-IDs verwendet werden.

Arten von UUID

Es gibt vier Arten von UUIDs:

  • Zeitbasierte UUID (Version 1)
  • DCE-Sicherheits-UUID (Version 2)
  • Namensbasierte UUID (Version 3 und 5)
  • Zufällig generierte UUID (Version 4)

Varianten der UUID

Es gibt jedoch viele Varianten der UUID Leach-Salz Variante ist weit verbreitet. Das Layout der Variante 2, d.h. Leach-Salz ist wie folgt:

Die MSBs bestehen aus den folgenden vorzeichenlosen Feldern:

0xFFFFFFFF00000000 time_low

0x00000000FFFF0000 time_mid

0x000000000000F000 Version

0x0000000000000FFF time_hi

Die LSBs bestehen aus den folgenden vorzeichenlosen Feldern:

0xC000000000000000 Variante

0x3FFF000000000000 clock_seq

0x0000FFFFFFFFFFFF-Knoten

Das Variantenfeld enthält einen Wert, der das Layout der UUID identifiziert. Das oben besprochene Layout gilt nur für Variante 2.

Java-UUID-Klasse

Zur Generierung der UUID , die Programmiersprache Java stellt die UUID-Klasse bereit. Die Klasse gehört zu java.util Paket. Es erweitert die Object-Klasse und implementiert die serialisierbar Und vergleichbar Schnittstelle. Die Klasse generiert eine unveränderliche UUID, die einen 128-Bit-Wert darstellt.

Java-UUID-Klassenmethoden

Methoden Beschreibung
ClockSequence() Es gibt den Taktsequenzwert zurück, der dieser angegebenen UUID zugeordnet ist.
vergleichen mit() Die Methode vergleicht die UUID mit der spezifischen UUID.
gleich() Die Methode vergleicht dieses Objekt mit dem angegebenen Objekt.
fromString() Es generiert eine UUID aus der String-Darstellung.
getLeastSignificantBits() Es gibt die niedrigstwertigen 64 Bits des 128-Bit-Werts dieser UUID zurück.
getMostSignificantBits() Es gibt die höchstwertigen 64 Bits des 128-Bit-Werts dieser UUID zurück.
Hash-Code() Es gibt einen Hash-Code für diese UUID zurück.
nameUUIDFromBytes() Es ruft eine UUID der Version 3 (namensbasiert) basierend auf dem angegebenen Byte-Array ab.
Knoten() Es gibt einen Knotenwert zurück, der der angegebenen UUID zugeordnet ist.
randomUUID() Es gibt eine zufällig generierte UUID zurück.
Zeitstempel() Es gibt einen Zeitstempelwert zurück, der dieser angegebenen UUID zugeordnet ist.
toString() Es gibt ein String-Objekt zurück, das diese UUID darstellt.
Variante() Es wird verwendet, um die Variante abzurufen, die der angegebenen UUID zugeordnet ist.
Ausführung() Wir können die Versionsnummer abrufen, die der angegebenen UUID zugeordnet ist.

Generieren einer UUID

Das folgende Beispiel generiert eine zufällige UUID.

UUIDExample.java

 import java.util.UUID; public class UUIDExample { public static void main(String args[]) { //generates random UUID UUID uuid=UUID.randomUUID(); System.out.println(uuid); } } 

Ausgabe:

Azure-Abonnement
 2b733549-d2cc-40f0-b7f3-9bfa9f3c1b89 

Von einem String in eine UUID konvertieren

StringToUUIDExample.java

 import java.util.UUID; public class StringtoUUIDExample { public static void main(String args[]) { //randomly generates a UUID UUID uuid = UUID.randomUUID(); System.out.println('Randomly Generated UUID: '+uuid); //converts the randomly generated UUID into String String uuidAsString = uuid.toString(); System.out.println('UUID as String: '+uuidAsString); //generates a UUID from the String UUID sameUuid = UUID.fromString(uuidAsString); System.out.println('UUID from String: '+sameUuid); //compares UUID generated from the string with the randomly generated UUID System.out.println(sameUuid.equals(uuid)); } } 

Ausgabe:

 Randomly Generated UUID: fe8a03d7-6495-4231-9843-8ee2f5282620 UUID as String: fe8a03d7-6495-4231-9843-8ee2f5282620 UUID from String: fe8a03d7-6495-4231-9843-8ee2f5282620 true