logo

Java generiraj UUID

UUID široko je korišten 128-bitni jedinstveni identifikacijski broj u računalnom sustavu. Sastoji se od heksadecimalnih znamenki odvojenih s četiri crtice. U ovom odjeljku ćemo raspravljati što je UUID i kako nasumično generirati UUID (verzija 4) u Javi .

UUID

UUID stoji za Univerzalno jedinstveni identifikator . UUID-ove standardizira Open Software Foundation (OSF). Dio je distributivnog računalnog okruženja (DCE). UUID je jedinstveni broj od 36 znakova (128 bita). Također je poznat kao a Globalno jedinstveni identifikator (GUID).

Java generiraj UUID

Upotreba UUID-a ovisi o situaciji, slučajevima upotrebe, složenosti i uvjetima. Neke od upotreba UUID-a su:

java logo
  • Koristi se za generiranje jedinstvenog URN-a (Uniform Resource Names).
  • Također se može koristiti za generiranje ID-ova transakcija.
  • Široko korišten u kriptografskim aplikacijama.
  • U web aplikaciji može se koristiti za generiranje ID-ova sesije.

Vrste UUID-a

Postoje četiri vrste UUID-ova:

  • UUID temeljen na vremenu (verzija 1)
  • DCE sigurnosni UUID (verzija 2)
  • UUID temeljen na nazivu (verzije 3 i 5)
  • Nasumično generirani UUID (verzija 4)

Varijante UUID-a

Postoje mnoge varijante UUID-a ali Sol za ispiranje varijanta se široko koristi. Izgled varijante 2 tj. Sol za ispiranje je kako slijedi:

MSB se sastoji od sljedećih nepredpisanih polja:

0xFFFFFFFF00000000 nisko vrijeme

0x00000000FFFF0000 sredina vremena

0x000000000000F000 verzija

broj abecede

0x0000000000000FFF vrijeme_bok

LSB se sastoji od sljedećih nepredpisanih polja:

0xC000000000000000 varijanta

0x3FFF000000000000 clock_seq

0x0000FFFFFFFFFFFF čvor

Polje varijante sadrži vrijednost koja identificira izgled UUID-a. Gore spomenuti raspored vrijedi samo za varijantu 2.

Java UUID klasa

Za generiranje UUID , programski jezik Java pruža UUID klasu. Razred pripada java.util paket. Proširuje klasu Object i implementira koji se može serijalizirati i usporediv sučelje. Klasa generira nepromjenjivi UUID koji predstavlja 128-bitnu vrijednost.

Java UUID metode klase

Metode Opis
clockSequence() Vraća vrijednost sekvence sata pridruženu ovom navedenom UUID-u.
usporedi s() Metoda uspoređuje UUID s određenim UUID-om.
jednako() Metoda uspoređuje ovaj objekt s navedenim objektom.
fromString() Generira UUID iz String reprezentacije.
getLeastSignificantBits() Vraća 64 bita najmanjeg značaja od 128-bitne vrijednosti ovog UUID-a.
getMostSignificantBits() Vraća najznačajnijih 64 bita od 128-bitne vrijednosti ovog UUID-a.
hashCode() Vraća hash kod za ovaj UUID.
imeUUIDFromBytes() Dohvaća UUID verzije 3 (temeljen na imenu) na temelju navedenog niza bajtova.
čvor() Vraća vrijednost čvora koja je povezana s navedenim UUID-om.
slučajniUUID() Vraća nasumično generirani UUID.
vremenska oznaka() Vraća vrijednost vremenske oznake pridruženu ovom navedenom UUID-u.
toString() Vraća String objekt koji predstavlja ovaj UUID.
varijanta() Koristi se za dobivanje varijante povezane s navedenim UUID-om.
verzija() Možemo dobiti broj verzije povezan s navedenim UUID-om.

Generiranje UUID-a

Sljedeći primjer generira nasumični 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); } } 

Izlaz:

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

Pretvori iz niza u UUID

StringToUUIDExample.java

gdje su postavke preglednika
 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)); } } 

Izlaz:

 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