logo

Java ustvari UUID

UUID je široko uporabljena 128-bitna edinstvena identifikacijska številka v računalniškem sistemu. Sestavljen je iz šestnajstih številk, ločenih s štirimi vezaji. V tem razdelku bomo razpravljali kaj je UUID in kako naključno ustvariti UUID (različica 4) v Javi .

UUID

UUID pomeni Univerzalno edinstven identifikator . UUID-je standardizira Open Software Foundation (OSF). Je del distribucijskega računalniškega okolja (DCE). UUID je 36-mestna (128-bitna) edinstvena številka. Znan je tudi kot a Globalno enolični identifikator (GUID).

Java ustvari UUID

Uporaba UUID je odvisna od situacije, primerov uporabe, kompleksnosti in pogojev. Nekatere uporabe UUID so:

  • Uporablja se za ustvarjanje edinstvenega URN (Uniform Resource Names).
  • Uporablja se lahko tudi za ustvarjanje ID-jev transakcij.
  • Pogosto se uporablja v kriptografski aplikaciji.
  • V spletni aplikaciji se lahko uporablja za ustvarjanje ID-jev seje.

Vrste UUID

Obstajajo štiri vrste UUID-jev:

  • UUID na podlagi časa (različica 1)
  • Varnostni UUID DCE (različica 2)
  • UUID na podlagi imena (različica 3 in 5)
  • Naključno ustvarjen UUID (različica 4)

Različice UUID

Obstaja veliko različic UUID, vendar Izlužna sol različica se pogosto uporablja. Postavitev variante 2 t.j. Izlužna sol kot sledi:

MSB-ji so sestavljeni iz naslednjih nepodpisanih polj:

0xFFFFFFFF00000000 nizek čas

kaj je sklad java

0x00000000FFFF0000 sredina časa

0x000000000000F000 različica

0x0000000000000FFF time_hi

LSB-ji so sestavljeni iz naslednjih nepredznačenih polj:

0xC000000000000000 različica

0x3FFF000000000000 clock_seq

kako pretvoriti int v niz java

0x0000FFFFFFFFFFFF vozlišče

Polje različice vsebuje vrednost, ki identificira postavitev UUID-ja. Zgoraj obravnavana postavitev velja samo za varianto 2.

Java UUID razred

Za ustvarjanje UUID , programski jezik Java ponuja razred UUID. Razred pripada java.util paket. Razširja razred Object in implementira serializable in primerljivi vmesnik. Razred ustvari nespremenljiv UUID, ki predstavlja 128-bitno vrednost.

Metode razreda Java UUID

Metode Opis
clockSequence() Vrne vrednost zaporedja ure, povezano s tem navedenim UUID.
primerjaj() Metoda primerja UUID z določenim UUID.
enako () Metoda primerja ta objekt z navedenim objektom.
fromString() Ustvari UUID iz predstavitve niza.
getLeastSignificantBits() Vrne najmanj pomembnih 64 bitov 128-bitne vrednosti tega UUID-ja.
getMostSignificantBits() Vrne najpomembnejših 64 bitov 128-bitne vrednosti tega UUID-ja.
hashCode() Vrne zgoščeno kodo za ta UUID.
imeUUIDFromBytes() Pridobi UUID različice 3 (na podlagi imena) na podlagi navedenega niza bajtov.
vozlišče () Vrne vrednost vozlišča, ki je povezano s podanim UUID.
naključniUUID() Vrne naključno ustvarjen UUID.
časovni žig() Vrne vrednost časovnega žiga, povezano s tem navedenim UUID.
toString() Vrne objekt String, ki predstavlja ta UUID.
različica() Uporablja se za pridobitev različice, povezane z navedenim UUID.
različica() Dobimo lahko številko različice, povezano z navedenim UUID.

Ustvarjanje UUID

Naslednji primer ustvari naključni UUID.

mvc za javo

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

Izhod:

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

Pretvori iz niza v 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)); } } 

Izhod:

 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