logo

Java Generar UUID

UUID es un número de identificación único de 128 bits de largo ampliamente utilizado en el sistema informático. Consta de dígitos hexadecimales separados por cuatro guiones. En esta sección, discutiremos ¿Qué es UUID? y cómo generar aleatoriamente UUID (versión 4) en Java .

UUID

UUID representa Identificador universalmente único . Los UUID están estandarizados por la Open Software Foundation (OSF). Es parte del Entorno de Computación Distributiva (DCE). Un UUID es un número único de 36 caracteres (128 bits). También se le conoce como Identificador único global (GUID).

Java Generar UUID

El uso de UUID depende de la situación, los casos de uso, la complejidad y las condiciones. Algunos de los usos del UUID son:

10ml a oz
  • Se utiliza para generar URN (nombres uniformes de recursos) únicos.
  • También se puede utilizar para generar ID de transacciones.
  • Ampliamente utilizado en una aplicación criptográfica.
  • En una aplicación web, se puede utilizar para generar ID de sesión.

Tipos de UUID

Hay cuatro tipos de UUID:

  • UUID basado en tiempo (versión 1)
  • UUID de seguridad DCE (versión 2)
  • UUID basado en nombre (versiones 3 y 5)
  • UUID generado aleatoriamente (versión 4)

Variantes de UUID

Hay muchas variantes del UUID pero sal lixiviada variante es ampliamente utilizada. El diseño de la variante 2, es decir. sal lixiviada es como sigue:

Los MSB constan de los siguientes campos sin firmar:

0xFFFFFFFF00000000 tiempo_bajo

0x00000000FFFF0000 hora_media

0x000000000000F000 versión

configuración del navegador web

0x0000000000000FFF tiempo_hola

Los LSB constan de los siguientes campos sin firmar:

0xC000000000000000 variante

0x3FFF000000000000 reloj_seq

0x0000FFFFFFFFFFFF nodo

El campo variante contiene un valor que identifica el diseño del UUID. El diseño comentado anteriormente es válido sólo para la variante 2.

Clase UUID de Java

Para generar el UUID , el lenguaje de programación Java proporciona la clase UUID. La clase pertenece a java.util paquete. Extiende la clase Objeto e implementa la serializable y comparable interfaz. La clase genera un UUID inmutable que representa un valor de 128 bits.

Métodos de clase UUID de Java

Métodos Descripción
secuencia de reloj() Devuelve el valor de secuencia de reloj asociado con este UUID especificado.
comparar con() El método compara el UUID con el UUID específico.
es igual() El método compara este objeto con el objeto especificado.
deCadena() Genera un UUID a partir de la representación String.
obtener bits menos significativos() Devuelve los 64 bits menos significativos del valor de 128 bits de este UUID.
obtener los bits más significativos() Devuelve los 64 bits más significativos del valor de 128 bits de este UUID.
código hash() Devuelve un código hash para este UUID.
nombreUUIDFromBytes() Recupera un UUID versión 3 (basado en nombre) basado en la matriz de bytes especificada.
nodo() Devuelve un valor de nodo asociado con el UUID especificado.
UUID aleatorio() Devuelve un UUID generado aleatoriamente.
marca de tiempo() Devuelve un valor de marca de tiempo asociado con este UUID especificado.
Encadenar() Devuelve un objeto String que representa este UUID.
variante() Se utiliza para obtener la variante asociada con el UUID especificado.
versión() Podemos obtener el número de versión asociado con el UUID especificado.

Generando un UUID

El siguiente ejemplo genera un UUID aleatorio.

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

Producción:

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

Convertir de una cadena a un UUID

StringToUUIDExample.java

caracteres de escape de 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)); } } 

Producción:

 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