example - java.utilIDID.randomUUID(). toString() longitud
generate random uuid string java (2)
¿Tiene java.utilIDID.randomUUID (). ToString () la longitud siempre es igual a 36?
No pude encontrar información sobre eso. Here se dice sólo lo siguiente:
public static UUID randomUUID () Fábrica estática para recuperar un UUID tipo 4 (pseudo aleatorio). El UUID se genera mediante un generador de números pseudoaleatorios criptográficamente sólido. Devoluciones: Un UUID generado aleatoriamente
Y ese type 4
no me dice nada. No sé qué significa el tipo 4 en el caso.
¿Tiene java.utilIDID.randomUUID (). ToString () la longitud siempre es igual a 36?
¡¡Sí!! es.
Un UUID
realidad un valor de 128 bits (2 largos). Para representar 128 bits en la cadena hexadecimal habrá 128/4=32
(cada carácter tiene una longitud de 128/4=32
bits). En formato de cadena también contiene 4 ( -
) por eso la longitud es 36.
ejemplo: 54947df8-0e9e-4471-a2f9-9af509fb5889
32 caracteres hexagonales + 4 caracteres guión = 36 caracteres. Así que la longitud será siempre igual.
Actualizar:
No sé qué significa el tipo 4 en el caso.
Para tu información: Hay varias formas de generar UUID. Aquí, el tipo 4 significa que este uuid se genera utilizando un número aleatorio o pseudoaleatorio. De wiki - Universally_unique_identifier#Versions :
Versiones
Para las dos variantes 1 y 2, se definen cinco "versiones" en los estándares, y cada versión puede ser más apropiada que las otras en casos de uso específicos. La versión está indicada por la M en la representación de la cadena.
Los UUID de la versión 1 se generan a partir de un tiempo y una identificación de nodo (generalmente la dirección MAC);
los UUID de la versión 2 se generan a partir de un identificador (generalmente un grupo o una identificación de usuario), tiempo y una identificación de nodo;
las versiones 3 y 5 producen UUID deterministas generados por el hashing de un identificador y nombre de espacio de nombres;
y los UUID de la versión 4 se generan utilizando un número aleatorio o pseudoaleatorio.
Puede convertir UUIDv4 16 bytes binarios a 24 bytes ascii usando base64, en lugar codificar a ascii-hex (32 bytes)