UUID este un număr unic de identificare lung de 128 de biți utilizat pe scară largă în sistemul informatic. Este format din cifre hexadecimale separate prin patru cratime. În această secțiune, vom discuta ce este UUID și cum se generează aleatoriu UUID (versiunea 4) în Java .
UUID
UUID reprezintă Identificator unic universal . UUID-urile sunt standardizate de Open Software Foundation (OSF). Face parte din mediul de calcul distributiv (DCE). Un UUID este un număr unic de 36 de caractere (128 de biți). Este cunoscut și ca a Identificator unic global (GUID).
Utilizarea UUID depinde de situație, cazuri de utilizare, complexitate și condiții. Unele dintre utilizările UUID sunt:
- Este folosit pentru a genera URN (Uniform Resource Names) unice.
- Poate fi folosit și pentru a genera ID-uri de tranzacție.
- Utilizat pe scară largă într-o aplicație criptografică.
- Într-o aplicație web poate fi folosită pentru a genera ID-uri de sesiune.
Tipuri de UUID
Există patru tipuri de UUID:
incearca sa prinzi java
- UUID bazat pe timp (versiunea 1)
- UUID de securitate DCE (versiunea 2)
- UUID bazat pe nume (versiunile 3 și 5)
- UUID generat aleatoriu (versiunea 4)
Variante ale UUID
Există multe variante ale UUID-ului dar Sare de levigat varianta este utilizată pe scară largă. Aspectul variantei 2 i.e. Sare de levigat este după cum urmează:
MSB-urile constă din următoarele câmpuri nesemnate:
0xFFFFFFFF00000000 time_low
alfabet la numere
0x00000000FFFF0000 time_mid
Versiunea 0x000000000000F000
0x0000000000000FFF time_hi
LSB-urile constă din următoarele câmpuri nesemnate:
manager de sarcini pentru linux
Varianta 0xC000000000000000
0x3FFF000000000000 clock_seq
0x0000FFFFFFFFFFFF nodul
Câmpul variantă conține o valoare care identifică aspectul UUID-ului. Aspectul discutat mai sus este valabil numai pentru varianta 2.
Clasa UUID Java
Pentru generarea UUID , limbajul de programare Java oferă clasa UUID. Clasa îi aparține java.util pachet. Extinde clasa Object și implementează serializabil și comparabil interfata. Clasa generează un UUID imuabil care reprezintă o valoare de 128 de biți.
Metode de clasă Java UUID
Metode | Descriere |
---|---|
clockSequence() | Returnează valoarea secvenței de ceas asociată cu acest UUID specificat. |
compara cu() | Metoda compară UUID-ul cu UUID-ul specific. |
este egal() | Metoda compară acest obiect cu obiectul specificat. |
fromString() | Acesta generează un UUID din reprezentarea String. |
getLeastSignificantBits() | Returnează cei mai puțin semnificativi 64 de biți din valoarea de 128 de biți a acestui UUID. |
getMostSignificantBits() | Returnează cei mai semnificativi 64 de biți din valoarea de 128 de biți a acestui UUID. |
hashCode() | Returnează un cod hash pentru acest UUID. |
nameUUIDFromBytes() | Acesta preia un UUID versiunea 3 (bazat pe nume) pe baza matricei de octeți specificate. |
nodul() | Returnează o valoare de nod care este asociată cu UUID-ul specificat. |
randomUUID() | Returnează un UUID generat aleatoriu. |
timestamp-ul() | Returnează o valoare de marcaj temporal asociată cu acest UUID specificat. |
toString() | Returnează un obiect String care reprezintă acest UUID. |
variantă() | Este folosit pentru a obține varianta asociată cu UUID-ul specificat. |
versiune() | Putem obține numărul versiunii asociat cu UUID-ul specificat. |
Generarea unui UUID
Următorul exemplu generează un UUID aleatoriu.
python __dict__
UUIDEexemplu.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); } }
Ieșire:
2b733549-d2cc-40f0-b7f3-9bfa9f3c1b89
Convertiți dintr-un șir într-un 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)); } }
Ieșire:
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