2008-11-15 23 views
15

Bene, qual è?Che cos'è un UUID?

+3

Si dovrebbe anche notare che un GUID è la stessa cosa. –

+0

Bene, un * Microsoft * GUID è la stessa cosa. – skaffman

+2

Buone informazioni e generatore qui: [generatore UUID online] (http://www.onlineuuidgenerator.com) – Dave

risposta

24

Si tratta di un numero di identificazione che identificano in modo univoco qualcosa. L'idea è che quel numero ID sarà universalmente unico. Quindi, non ci sono due cose che dovrebbero avere lo stesso uuid. In effetti, se si generassero 10 trilioni di uuidi, ci sarebbe qualcosa sulla falsariga di una possibilità del .00000006 di avere due uuidi uguali.

5

È una lunga serie di bit che si suppone siano unici ora e per sempre, cioè non è possibile uno scontro con nessun altro UUID prodotto da te o da chiunque altro al mondo.

Il modo in cui funziona consiste semplicemente nell'utilizzare la data e l'ora correnti e una proprietà unica relativa al computer che l'ha generata (come l'indirizzo IP, che deve essere unico al momento in cui si è connessi a Internet o L'indirizzo MAC, che è più basso livello, un ID cablato per la tua scheda di rete) fa parte della stringa di bit.

In origine ogni scheda di rete del mondo ha il proprio indirizzo MAC univoco, ma nelle generazioni successive, è possibile modificare l'indirizzo MAC tramite software, quindi non è più affidabile quanto un ID univoco.

27

Gli UUID sono definiti in RFC 4122. Sono identificatori universalmente univoci, che possono essere generati senza l'uso di un'autorità centralizzata. Esistono quattro tipi principali di UUID utilizzati in scenari leggermente diversi. Tutti gli UUID hanno una lunghezza di 128 bit, ma sono comunemente rappresentati come 32 caratteri esadecimali separati da quattro trattini.

UUID versione 1, il più comune, combina un indirizzo MAC e un timestamp per produrre univocità sufficiente. Nel caso in cui vengano generati più UUID abbastanza veloci da non incrementare il timestamp prima della generazione successiva, il timestamp viene incrementato manualmente di 1. Se nessun indirizzo MAC è disponibile, o se la sua presenza sarebbe indesiderabile per motivi di privacy, 6 random i byte provenienti da un generatore di numeri casuali protetto da crittografia possono invece essere utilizzati per l'ID del nodo.

Gli UUID versione 3 e versione 5, il meno comune, utilizzano rispettivamente le funzioni hash MD5 e SHA1, oltre a uno spazio dei nomi, oltre a un valore di dati già univoco per produrre un ID univoco. Questo può essere usato per generare un UUID da un URL, per esempio.

UUID versione 4, sono semplicemente 128 bit di dati casuali, con alcuni bit-twiddling per identificare la versione e la variante UUID.

Le collisioni UUID sono estremamente improbabili, in particolare non in un singolo spazio applicativo.