logo

Java Generare UUID

UUID este un număr unic de identificare lung de 128 de biți utilizat pe scară largă în sistemul informatic. Este format din cifre hexadecimale separate prin patru cratime. În această secțiune, vom discuta ce este UUID și cum se generează aleatoriu UUID (versiunea 4) în Java .

UUID

UUID reprezintă Identificator unic universal . UUID-urile sunt standardizate de Open Software Foundation (OSF). Face parte din mediul de calcul distributiv (DCE). Un UUID este un număr unic de 36 de caractere (128 de biți). Este cunoscut și ca a Identificator unic global (GUID).

Java Generare UUID

Utilizarea UUID depinde de situație, cazuri de utilizare, complexitate și condiții. Unele dintre utilizările UUID sunt:

  • Este folosit pentru a genera URN (Uniform Resource Names) unice.
  • Poate fi folosit și pentru a genera ID-uri de tranzacție.
  • Utilizat pe scară largă într-o aplicație criptografică.
  • Într-o aplicație web poate fi folosită pentru a genera ID-uri de sesiune.

Tipuri de UUID

Există patru tipuri de UUID:

incearca sa prinzi java
  • UUID bazat pe timp (versiunea 1)
  • UUID de securitate DCE (versiunea 2)
  • UUID bazat pe nume (versiunile 3 și 5)
  • UUID generat aleatoriu (versiunea 4)

Variante ale UUID

Există multe variante ale UUID-ului dar Sare de levigat varianta este utilizată pe scară largă. Aspectul variantei 2 i.e. Sare de levigat este după cum urmează:

MSB-urile constă din următoarele câmpuri nesemnate:

0xFFFFFFFF00000000 time_low

alfabet la numere

0x00000000FFFF0000 time_mid

Versiunea 0x000000000000F000

0x0000000000000FFF time_hi

LSB-urile constă din următoarele câmpuri nesemnate:

manager de sarcini pentru linux

Varianta 0xC000000000000000

0x3FFF000000000000 clock_seq

0x0000FFFFFFFFFFFF nodul

Câmpul variantă conține o valoare care identifică aspectul UUID-ului. Aspectul discutat mai sus este valabil numai pentru varianta 2.

Clasa UUID Java

Pentru generarea UUID , limbajul de programare Java oferă clasa UUID. Clasa îi aparține java.util pachet. Extinde clasa Object și implementează serializabil și comparabil interfata. Clasa generează un UUID imuabil care reprezintă o valoare de 128 de biți.

Metode de clasă Java UUID

Metode Descriere
clockSequence() Returnează valoarea secvenței de ceas asociată cu acest UUID specificat.
compara cu() Metoda compară UUID-ul cu UUID-ul specific.
este egal() Metoda compară acest obiect cu obiectul specificat.
fromString() Acesta generează un UUID din reprezentarea String.
getLeastSignificantBits() Returnează cei mai puțin semnificativi 64 de biți din valoarea de 128 de biți a acestui UUID.
getMostSignificantBits() Returnează cei mai semnificativi 64 de biți din valoarea de 128 de biți a acestui UUID.
hashCode() Returnează un cod hash pentru acest UUID.
nameUUIDFromBytes() Acesta preia un UUID versiunea 3 (bazat pe nume) pe baza matricei de octeți specificate.
nodul() Returnează o valoare de nod care este asociată cu UUID-ul specificat.
randomUUID() Returnează un UUID generat aleatoriu.
timestamp-ul() Returnează o valoare de marcaj temporal asociată cu acest UUID specificat.
toString() Returnează un obiect String care reprezintă acest UUID.
variantă() Este folosit pentru a obține varianta asociată cu UUID-ul specificat.
versiune() Putem obține numărul versiunii asociat cu UUID-ul specificat.

Generarea unui UUID

Următorul exemplu generează un UUID aleatoriu.

python __dict__

UUIDEexemplu.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); } } 

Ieșire:

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

Convertiți dintr-un șir într-un UUID

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)); } } 

Ieșire:

 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