Generatore UUID / GUID
Genera UUID in formato v1, v4 o v5 — in blocco, formattati, con prefisso/suffisso opzionali.
Riferimento Versioni
v4 — Casuale
Gli UUID versione 4 vengono generati interamente da byte casuali (o pseudo-casuali). 122 dei 128 bit sono casuali; i restanti 6 bit codificano la versione (4) e la variante. Non contenendo informazioni strutturate, gli UUID v4 sono la scelta più semplice: non richiedono stato condiviso, clock di rete né coordinamento del namespace. La probabilità di generare un duplicato è astronomicamente bassa. Utilizzare v4 come impostazione predefinita per le chiavi primarie del database, i token di sessione e qualsiasi contesto in cui è richiesta unicità ma non l'ordinamento temporale.
Wikipedia — UUID Version 4 (random)
v1 — Basato sul Tempo
Gli UUID versione 1 incorporano un timestamp a 60 bit (intervalli di 100 nanosecondi dal 15 ottobre 1582, data della riforma del calendario gregoriano), una sequenza di clock a 14 bit e un identificatore di nodo a 48 bit (storicamente l'indirizzo MAC della macchina generatrice). Poiché il timestamp è il componente più significativo, gli UUID v1 si ordinano cronologicamente quando confrontati lessicograficamente, una proprietà utile per gli indici di database clusterizzati. Lo svantaggio è la privacy: un UUID v1 rivela l'indirizzo MAC della macchina e l'ora esatta di creazione.
Wikipedia — UUID Version 1 (time-based)
v5 — Namespace + Nome (SHA-1)
Gli UUID versione 5 sono deterministici: dato lo stesso UUID di namespace e la stessa stringa di nome, l'output è sempre identico. L'algoritmo concatena i byte del namespace e il nome codificato in UTF-8, li processa con SHA-1, poi comprime il digest di 160 bit in 128 bit. Questo rende v5 ideale per generare identificatori stabili e riproducibili. v3 usa MD5; v5 è preferito perché SHA-1 produce meno collisioni.