logo

Java Wygeneruj UUID

UUID to powszechnie używany, 128-bitowy, unikalny numer identyfikacyjny w systemie komputerowym. Składa się z cyfr szesnastkowych oddzielonych czterema myślnikami. W tej części omówimy co to jest UUID I jak losowo wygenerować UUID (wersja 4) w Javie .

UUID

UUID oznacza Uniwersalnie unikalny identyfikator . Identyfikatory UUID są standaryzowane przez Open Software Foundation (OSF). Jest częścią Distributive Computing Environment (DCE). UUID to unikalny numer o długości 36 znaków (128 bitów). Znany jest również jako Globalnie unikalny identyfikator (GUID).

Java Wygeneruj UUID

Użycie identyfikatora UUID zależy od sytuacji, przypadków użycia, złożoności i warunków. Oto niektóre zastosowania identyfikatora UUID:

  • Służy do generowania unikalnych nazw URN (Uniform Resource Names).
  • Można go również wykorzystać do generowania identyfikatorów transakcji.
  • Szeroko stosowany w zastosowaniach kryptograficznych.
  • W aplikacji internetowej może służyć do generowania identyfikatorów sesji.

Rodzaje UUID

Istnieją cztery typy identyfikatorów UUID:

inaczej, jeśli Java
  • UUID oparty na czasie (wersja 1)
  • UUID zabezpieczeń DCE (wersja 2)
  • UUID oparty na nazwie (wersja 3 i 5)
  • Losowo generowany identyfikator UUID (wersja 4)

Warianty UUID

Istnieje wiele wariantów identyfikatora UUID, ale Sól ługowa wariant jest powszechnie stosowany. Układ wariantu 2 tj. Sól ługowa następująco:

MSB składają się z następujących pól bez znaku:

0xFFFFFFFF00000000 czas_niski

konwersja ciągu do tej pory

0x00000000FFFF0000 środek_czasu

Wersja 0x000000000000F000

0x0000000000000FFF czas_cześć

LSB składają się z następujących pól bez znaku:

nginx

Wariant 0xC000000000000000

0x3FFF000000000000 zegar_sekw

Węzeł 0x0000FFFFFFFFFFFF

Pole wariantu zawiera wartość identyfikującą układ identyfikatora UUID. Omówiony powyżej układ obowiązuje tylko dla wariantu 2.

Klasa UUID Java

Do generowania UUID , język programowania Java udostępnia klasę UUID. Klasa należy do java.util pakiet. Rozszerza klasę Object i implementuje serializować I porównywalny interfejs. Klasa generuje niezmienny identyfikator UUID, który reprezentuje wartość 128-bitową.

Metody klas UUID Java

Metody Opis
sekwencja zegara() Zwraca wartość sekwencji zegara powiązaną z określonym UUID.
porównać do() Metoda porównuje UUID z konkretnym UUID.
równa się() Metoda porównuje ten obiekt z określonym obiektem.
zString() Generuje UUID na podstawie reprezentacji String.
getLeastSignificantBits() Zwraca najmniej znaczące 64 bity ze 128-bitowej wartości tego identyfikatora UUID.
pobierzMostSignificantBits() Zwraca najbardziej znaczące 64 bity ze 128-bitowej wartości tego identyfikatora UUID.
hashCode() Zwraca kod skrótu dla tego UUID.
nazwaUUIDFromBytes() Pobiera identyfikator UUID w wersji 3 (oparty na nazwie) na podstawie określonej tablicy bajtów.
węzeł() Zwraca wartość węzła powiązaną z określonym identyfikatorem UUID.
losowyUUID() Zwraca losowo wygenerowany UUID.
znak czasu() Zwraca wartość znacznika czasu powiązaną z określonym identyfikatorem UUID.
doString() Zwraca obiekt String reprezentujący ten UUID.
wariant() Służy do uzyskania wariantu powiązanego z określonym UUID.
wersja() Możemy uzyskać numer wersji powiązany z określonym UUID.

Generowanie identyfikatora UUID

Poniższy przykład generuje losowy identyfikator UUID.

niedeterministyczne automaty skończone

UUIDEPrzykład.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); } } 

Wyjście:

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

Konwertuj z ciągu na UUID

StringToUUIDEPrzykład.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)); } } 

Wyjście:

 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