Perché gli UUID / GUID sono nel formato in cui si trovano?


14

Gli identificatori univoci globali (GUID) sono una stringa raggruppata con un formato specifico che presumo abbia un motivo di sicurezza.

Un GUID è più comunemente scritto nel testo come una sequenza di cifre esadecimali separate in cinque gruppi, come ad esempio:

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

Perché le stringhe GUID / UUID non sono solo byte casuali codificati usando esadecimali di lunghezza X?

Questa notazione di testo contiene i seguenti campi, separati da trattini:

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

Esistono anche diverse versioni degli standard UUID .

Gli UUID versione 4 sono generalmente archiviati internamente come array non elaborato di 128 bit e in genere visualizzati in un formato simile a:

uuid: xxxxxxxxxxxx-4xxx-Yxxx-xxxxxxxxxxxx


4
No, probabilmente non è per motivi di sicurezza, la stringa di bit ha la stessa entropia con o senza i trattini. Penso che sia così che i GUID possano essere riconosciuti a colpo d'occhio invece di andare "ecco un mucchio di caratteri esadecimali, è quel md5 .. o forse sha1 .. no, aspetta, potrebbe essere ..." e così via. Inoltre, i GUID di solito non sono solo byte casuali.


Domanda simile dal formato
Praveen,

Risposte:



2

La rappresentazione del testo con i trattini sta separando i quattro campi di Guid / UUID in cinque gruppi (con l'ultimo campo separato dopo i primi due byte): Guid Text Encoding

La rappresentazione non ha nulla a che fare con la sicurezza, poiché esistono diversi metodi per elaborarla ed è intesa come identificatore univoco e non necessariamente sicuro.

Il motivo più probabile per cui i campi sono divisi (anche se lo standard non lo menziona) è per la leggibilità / separazione dei componenti.


2
Questo ci dice qual è il formato, informazioni che erano già nella domanda. Non spiega perché , ed è quello che stava chiedendo l'OP.
Keith Thompson,

1
Li sta semplicemente separando nei campi, probabilmente per una migliore leggibilità e identificazione. Forse l'ultimo è stato diviso ulteriormente a causa della sua lunghezza.
Chiavi in ​​mano

1
logico. Lo stesso motivo per cui numeri di telefono, numeri di carte di credito e molti altri numeri lunghi vengono spesso suddivisi in gruppi quando stampati o scritti.
jwenting
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.