logo

Java generuoti UUID

UUID yra plačiai naudojamas 128 bitų ilgio unikalus identifikavimo numeris kompiuterinėje sistemoje. Jį sudaro šešioliktainiai skaitmenys, atskirti keturiais brūkšneliais. Šiame skyriuje aptarsime kas yra UUID ir kaip atsitiktinai sugeneruoti UUID (4 versija) Java .

UUID

UUID reiškia Universaliai unikalus identifikatorius . UUID standartizuoja Open Software Foundation (OSF). Tai yra paskirstymo skaičiavimo aplinkos (DCE) dalis. UUID yra 36 simbolių (128 bitų) ilgio unikalus numeris. Jis taip pat žinomas kaip a Pasauliniu mastu unikalus identifikatorius (GUID).

json formato pavyzdys
Java generuoti UUID

UUID naudojimas priklauso nuo situacijos, naudojimo atvejų, sudėtingumo ir sąlygų. Kai kurie UUID naudojimo būdai yra šie:

  • Jis naudojamas unikaliems URN (vienodiems išteklių pavadinimams) generuoti.
  • Jis taip pat gali būti naudojamas operacijų ID generuoti.
  • Plačiai naudojamas kriptografinėje programoje.
  • Žiniatinklio programoje jis gali būti naudojamas generuoti seansų ID.

UUID tipai

Yra keturi UUID tipai:

  • Laiku pagrįstas UUID (1 versija)
  • DCE saugos UUID (2 versija)
  • Vardu pagrįstas UUID (3 ir 5 versijos)
  • Atsitiktinai sugeneruotas UUID (4 versija)

UUID variantai

Yra daug UUID variantų, bet Išsiplauti druską variantas yra plačiai naudojamas. 2 varianto išdėstymas t.y. Išsiplauti druską yra taip:

MSB sudaro šie nepasirašyti laukai:

0xFFFFFFFF00000000 time_low

0x00000000FFFF0000 time_mid

0x000000000000F000 versija

0x0000000000000FFF time_hi

LSB sudaro šie nepasirašyti laukai:

0xC000000000000000 variantas

0x3FFF000000000000 clock_seq

0x0000FFFFFFFFFFFF mazgas

Lauke Variantas yra reikšmė, identifikuojanti UUID išdėstymą. Aukščiau aptartas išdėstymas galioja tik 2 variantui.

java poeilutė yra

Java UUID klasė

Norėdami sukurti UUID , Java programavimo kalba suteikia UUID klasę. Klasė priklauso java.util paketą. Jis išplečia objektų klasę ir įgyvendina serializuoti ir palyginamas sąsaja. Klasė generuoja nekintamą UUID, kuris reiškia 128 bitų reikšmę.

Java UUID klasės metodai

Metodai apibūdinimas
clockSequence () Jis grąžina laikrodžio sekos reikšmę, susietą su šiuo nurodytu UUID.
palyginti su() Šis metodas lygina UUID su konkrečiu UUID.
lygus () Metodas palygina šį objektą su nurodytu objektu.
fromString() Jis generuoja UUID iš eilutės reprezentacijos.
getLeastSignificantBits() Jis grąžina mažiausiai reikšmingus 64 bitus iš šio UUID 128 bitų vertės.
getMostSignificantBits() Jis grąžina svarbiausius 64 šio UUID 128 bitų vertės bitus.
maišos kodas () Jis grąžina šio UUID maišos kodą.
vardasUUIDNuo baitų () Jis nuskaito 3 versijos (pagal pavadinimą) UUID pagal nurodytą baitų masyvą.
mazgas () Jis grąžina mazgo reikšmę, susietą su nurodytu UUID.
atsitiktinisUUID() Jis grąžina atsitiktinai sugeneruotą UUID.
laiko žyma () Jis grąžina laiko žymos reikšmę, susietą su šiuo nurodytu UUID.
toString() Jis grąžina objektą String, atstovaujantį šį UUID.
variantas () Jis naudojamas norint gauti variantą, susietą su nurodytu UUID.
versija () Galime gauti versijos numerį, susietą su nurodytu UUID.

UUID generavimas

Šis pavyzdys generuoja atsitiktinį 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); } } 

Išvestis:

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

Konvertuoti iš eilutės į 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)); } } 

Išvestis:

 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