UUID è un numero identificativo univoco lungo 128 bit ampiamente utilizzato nel sistema informatico. È composto da cifre esadecimali separate da quattro trattini. In questa sezione discuteremo cos'è l'UUID E come generare in modo casuale l'UUID (versione 4) in Java .
UUID
UUID sta per Identificatore univoco universale . Gli UUID sono standardizzati dalla Open Software Foundation (OSF). Fa parte del Distributive Computing Environment (DCE). Un UUID è un numero univoco lungo 36 caratteri (128 bit). È noto anche come a Identificatore univoco globale (GUID).
L'uso dell'UUID dipende dalla situazione, dai casi d'uso, dalla complessità e dalle condizioni. Alcuni degli usi dell'UUID sono:
- Viene utilizzato per generare URN (Uniform Resource Names) univoci.
- Può anche essere utilizzato per generare ID di transazione.
- Ampiamente usato in un'applicazione crittografica.
- In un'applicazione Web può essere utilizzato per generare ID di sessione.
Tipi di UUID
Esistono quattro tipi di UUID:
- UUID basato sul tempo (versione 1)
- UUID di sicurezza DCE (versione 2)
- UUID basato sul nome (versione 3 e 5)
- UUID generato casualmente (versione 4)
Varianti dell'UUID
Esistono molte varianti dell'UUID ma Sale lisciviato la variante è ampiamente utilizzata. Il layout della variante 2, ad es. Sale lisciviato è come segue:
Gli MSB sono costituiti dai seguenti campi senza segno:
0xFFFFFFFF00000000 tempo_basso
0x00000000FFFF0000 tempo_mid
Versione 0x000000000000F000
0x0000000000000FFF ora_ciao
L'LSB è costituito dai seguenti campi senza segno:
0xC000000000000000 variante
0x3FFF000000000000 sequenza_orologio
0x0000FFFFFFFFFFFF nodo
Il campo variante contiene un valore che identifica il layout dell'UUID. Il layout sopra discusso è valido solo per la variante 2.
Classe UUID Java
Per generare il UUID , il linguaggio di programmazione Java fornisce la classe UUID. La classe appartiene a java.util pacchetto. Estende la classe Object e implementa il file serializzabile E paragonabile interfaccia. La classe genera un UUID immutabile che rappresenta un valore a 128 bit.
Metodi di classe UUID Java
Metodi | Descrizione |
---|---|
sequenzaorologio() | Restituisce il valore della sequenza di orologio associato all'UUID specificato. |
Paragonare a() | Il metodo confronta l'UUID con l'UUID specifico. |
equivale() | Il metodo confronta questo oggetto con l'oggetto specificato. |
daStringa() | Genera un UUID dalla rappresentazione String. |
getBitLeastSignificant() | Restituisce i 64 bit meno significativi del valore a 128 bit di questo UUID. |
getMostSignificantBits() | Restituisce i 64 bit più significativi del valore a 128 bit di questo UUID. |
codice hash() | Restituisce un codice hash per questo UUID. |
nomeUUIDFromBytes() | Recupera un UUID versione 3 (basato sul nome) in base all'array di byte specificato. |
nodo() | Restituisce un valore del nodo associato all'UUID specificato. |
UUID casuale() | Restituisce un UUID generato casualmente. |
timestamp() | Restituisce un valore timestamp associato all'UUID specificato. |
accordare() | Restituisce un oggetto String che rappresenta questo UUID. |
variante() | Viene utilizzato per ottenere la variante associata all'UUID specificato. |
versione() | Possiamo ottenere il numero di versione associato all'UUID specificato. |
Generazione di un UUID
L'esempio seguente genera un UUID casuale.
UUIDEesempio.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); } }
Produzione:
2b733549-d2cc-40f0-b7f3-9bfa9f3c1b89
Converti da una stringa a un UUID
StringToUUIDEesempio.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)); } }
Produzione:
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