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).
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