logo

Java Generovanie UUID

UUID je široko používané 128-bitové jedinečné identifikačné číslo v počítačovom systéme. Pozostáva z hexadecimálnych číslic oddelených štyrmi pomlčkami. V tejto časti budeme diskutovať čo je UUID a ako náhodne vygenerovať UUID (verzia 4) v jazyku Java .

UUID

UUID znamenať Univerzálne jedinečný identifikátor . UUID sú štandardizované nadáciou Open Software Foundation (OSF). Je súčasťou distribučného výpočtového prostredia (DCE). UUID je 36 znakov (128-bit) dlhé jedinečné číslo. Je tiež známy ako a Globálne jedinečný identifikátor (GUID).

Java Generovanie UUID

Použitie UUID závisí od situácie, prípadov použitia, zložitosti a podmienok. Niektoré z použití UUID sú:

  • Používa sa na generovanie jedinečných URN (Uniform Resource Names).
  • Môže sa použiť aj na generovanie ID transakcií.
  • Široko používaný v kryptografickej aplikácii.
  • Vo webovej aplikácii sa dá použiť na generovanie ID relácie.

Typy UUID

Existujú štyri typy UUID:

funkcie java 8
  • UUID založené na čase (verzia 1)
  • UUID zabezpečenia DCE (verzia 2)
  • UUID na základe názvu (verzia 3 a 5)
  • Náhodne generované UUID (verzia 4)

Varianty UUID

Existuje mnoho variantov UUID, ale Vylúhujte soľ variant je široko používaný. Dispozičné riešenie variantu 2 t.j. Vylúhujte soľ je nasledujúca:

MSB pozostávajú z nasledujúcich nepodpísaných polí:

0xFFFFFFFF00000000 time_low

java konvertuje celé číslo na reťazec

0x00000000FFFF0000 čas_stred

Verzia 0x00000000000F000

0x000000000000FFF time_hi

LSB pozostáva z nasledujúcich nepodpísaných polí:

zoznam triediacich polí java

0xC000000000000000 variant

0x3FFF000000000000 clock_seq

0x0000FFFFFFFFFFFF uzol

Pole variant obsahuje hodnotu, ktorá identifikuje rozloženie UUID. Vyššie diskutované usporiadanie platí len pre variant 2.

Trieda Java UUID

Na generovanie UUID , programovací jazyk Java poskytuje triedu UUID. Trieda patrí do java.util balík. Rozširuje triedu Object a implementuje serializovateľné a porovnateľné rozhranie. Trieda generuje nemenné UUID, ktoré predstavuje 128-bitovú hodnotu.

Java metódy triedy UUID

Metódy Popis
clockSequence() Vráti hodnotu sekvencie hodín priradenú k tomuto zadanému UUID.
porovnať s() Metóda porovnáva UUID so špecifickým UUID.
rovná sa() Metóda porovnáva tento objekt so zadaným objektom.
fromString() Generuje UUID z reprezentácie reťazca.
getLeastSignificantBits() Vráti najmenej významných 64 bitov zo 128-bitovej hodnoty tohto UUID.
getMostSignificantBits() Vráti najvýznamnejších 64 bitov zo 128-bitovej hodnoty tohto UUID.
hashCode() Vráti hash kód pre toto UUID.
nameUUIDFromBytes() Získava UUID verzie 3 (založené na názve) na základe zadaného poľa bajtov.
uzol() Vráti hodnotu uzla, ktorá je spojená so zadaným UUID.
randomUUID() Vracia náhodne vygenerované UUID.
časová značka() Vráti hodnotu časovej pečiatky spojenú s týmto zadaným UUID.
natiahnuť() Vracia objekt typu String predstavujúci toto UUID.
varianta() Používa sa na získanie variantu spojeného so zadaným UUID.
verzia() Môžeme získať číslo verzie spojené so zadaným UUID.

Generovanie UUID

Nasledujúci príklad generuje náhodné UUID.

dĺžka bash struny

UUIDEpríklad.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); } } 

Výkon:

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

Konvertovať z reťazca na UUID

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

Výkon:

 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