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