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

14

Identificadores Únicos Globales (GUID) son una cadena agrupada con un formato específico que supongo que tiene una razón de seguridad.

  

Un GUID se escribe generalmente en texto como una secuencia de hexadecimal   dígitos separados en cinco grupos, tales 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 en bruto de 128   bits, y normalmente se muestran en un formato parecido a:

     

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

    
pregunta Xeoncross 14.10.2012 - 03:52

2 respuestas

11

De RfC4122 - Un espacio de nombres URN de ID único universal (UUID)

  

La definición formal de la representación de la cadena UUID es proporcionada por el siguiente ABNF:

UUID                   = time-low "-" time-mid "-"
                         time-high-and-version "-"
                         clock-seq-and-reserved
                         clock-seq-low "-" node

Por lo tanto, esos son solo los diferentes campos del hora y UUID basado en MAC . El RFC dice que se origina en el sistema de computación en red Apollo.

    
respondido por el Jörg W Mittag 14.10.2012 - 13:21
2

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

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 uno seguro.

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

    
respondido por el Turnkey 14.10.2012 - 20:27

Lea otras preguntas en las etiquetas