logo

Java genera UUID

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

Java genera UUID

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