logo

Java UUID generálása

UUID egy széles körben használt 128 bites egyedi azonosító szám a számítógépes rendszerben. Négy kötőjellel elválasztott hexa számjegyekből áll. Ebben a részben megvitatjuk mi az UUID és hogyan lehet véletlenszerűen létrehozni az UUID-t (4-es verzió) Java-ban .

UUID

UUID jelentése Univerzálisan egyedi azonosító . Az UUID-ket az Open Software Foundation (OSF) szabványosította. A Distributive Computing Environment (DCE) része. Az UUID 36 karakter (128 bit) hosszú egyedi szám. Más néven a Globálisan egyedi azonosító (GUID).

Java UUID generálása

Az UUID használata a helyzettől, a használati esetektől, a bonyolultságtól és a feltételektől függ. Az UUID néhány felhasználási módja:

  • Egyedi URN (Uniform Resource Names) generálására szolgál.
  • Tranzakcióazonosítók generálására is használható.
  • Széles körben használják kriptográfiai alkalmazásokban.
  • Webes alkalmazásban munkamenet-azonosítók generálására használható.

Az UUID típusai

Négyféle UUID létezik:

int string
  • Időalapú UUID (1. verzió)
  • DCE biztonsági UUID (2-es verzió)
  • Név alapú UUID (3. és 5. verzió)
  • Véletlenszerűen generált UUID (4-es verzió)

Az UUID változatai

Az UUID-nek számos változata létezik, de Lúzza ki a sót változatát széles körben használják. A 2. változat elrendezése i.e. Lúzza ki a sót az alábbiak:

Az MSB-k a következő aláíratlan mezőkből állnak:

0xFFFFFFFF00000000 time_low

0x00000000FFFF0000 time_mid

0x000000000000F000 verzió

0x0000000000000FFF time_hi

Az LSB-k a következő előjel nélküli mezőkből állnak:

0xC000000000000000 változat

0x3FFF000000000000 clock_seq

0x0000FFFFFFFFFFFF csomópont

A változat mező egy értéket tartalmaz, amely azonosítja az UUID elrendezését. A fent tárgyalt elrendezés csak a 2. változatra érvényes.

Java UUID osztály

A generáláshoz a UUID , a Java programozási nyelv biztosítja az UUID osztályt. Az osztályhoz tartozik java.util csomag. Kibővíti az Object osztályt és megvalósítja a szerializálható és hasonló felület. Az osztály egy megváltoztathatatlan UUID-t generál, amely 128 bites értéket képvisel.

Java UUID osztály módszerei

Mód Leírás
clockSequence() Visszaadja a megadott UUID-hez társított órajelsorozat értékét.
összehasonlítani() A módszer összehasonlítja az UUID-t az adott UUID-vel.
egyenlő () A metódus összehasonlítja ezt az objektumot a megadott objektummal.
fromString() Létrehoz egy UUID-t a String reprezentációból.
getLeastSignificantBits() Az UUID 128 bites értékéből a legkevésbé jelentős 64 bitet adja vissza.
getMostSignificantBits() Az UUID 128 bites értékének legjelentősebb 64 bitjét adja vissza.
hash kód() Egy hash kódot ad vissza ehhez az UUID-hez.
névUUIDFromBytes() A 3-as verziójú (név alapú) UUID-t kéri le a megadott bájttömb alapján.
csomópont() Egy csomópontértéket ad vissza, amely a megadott UUID-hez van társítva.
randomUUID() Véletlenszerűen generált UUID-t ad vissza.
időbélyeg() A megadott UUID-hez társított időbélyegértéket ad vissza.
toString() Egy karakterlánc objektumot ad vissza, amely ezt az UUID-t reprezentálja.
változat() A megadott UUID-hez társított változat lekérésére szolgál.
változat() Megkaphatjuk a megadott UUID-hez társított verziószámot.

UUID generálása

A következő példa egy véletlenszerű UUID-t generál.

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

Kimenet:

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

Konvertálása karakterláncból UUID-vé

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

Kimenet:

 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