¿Por qué los UUID / GUID están en el formato que tienen?


14

Los identificadores únicos globales (GUID) son una cadena agrupada con un formato específico que supongo que tiene un motivo de seguridad.

Un GUID se escribe más comúnmente en texto como una secuencia de dígitos hexadecimales separados en cinco grupos, como:

3F2504E0-4F89-11D3-9A0C-0305E82C3301

¿Por qué las cadenas GUID / UUID no son solo bytes aleatorios codificados usando hexadecimal de longitud X?

Esta notación de texto contiene los siguientes campos, separados por guiones:

| Hex digits | Description
|-------------------------
| 8            | Data1
| 4            | Data2
| 4            | Data3
| 4            | Initial two bytes from Data4
| 12           | Remaining six bytes from Data4

También hay varias versiones de los estándares UUID .

Los UUID de la Versión 4 generalmente se almacenan internamente como una matriz cruda de 128 bits, y generalmente se muestran en un formato similar a:

uuid: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx


44
No, probablemente no sea por razones de seguridad, la cadena de bits tiene la misma entropía con o sin guiones. Creo que es para que los GUID se puedan reconocer de un vistazo en lugar de decir "aquí hay un montón de caracteres hexadecimales, es que md5 ... o tal vez sha1 ... no, espera, podría ser ..." y así sucesivamente. Además, los GUID generalmente no son solo bytes aleatorios.


Pregunta similar del formato
Praveen

Respuestas:



2

La representación de texto con guiones está separando los cuatro campos del Guid / UUID en cinco grupos (con el último campo separado después de los primeros dos bytes): Codificación de texto Guid

La representación no tiene nada que ver con la seguridad, ya que existen diferentes métodos para calcularla y pretende ser un identificador único, no necesariamente seguro.

La razón más probable por la que los campos están divididos (aunque el estándar no lo menciona) es por la legibilidad / separación de las partes componentes.


2
Eso nos dice cuál es el formato, información que ya estaba en la pregunta. No explica por qué , que es lo que preguntaba el OP.
Keith Thompson,

1
Simplemente los está separando en los campos, probablemente para una mejor legibilidad e identificación. Tal vez el último se dividió aún más debido a su longitud.
Llave en mano el

1
lógico. Los mismos números de teléfono, números de tarjeta de crédito y muchos otros números largos se dividen en grupos cuando se imprimen o escriben.
Jwenting
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.