Generuj UUID v5 oparte na nazwie i przestrzeni nazw, używając algorytmu haszującego SHA-1.
Uwaga: dla tej samej przestrzeni nazw i nazwy zawsze zostanie wygenerowany ten sam UUID
Wprowadzenie do UUID v5
UUID v5 to unikalne identyfikatory generowane na podstawie nazwy i przestrzeni nazw, używające algorytmu haszującego SHA-1. Dla tej samej kombinacji nazwy i przestrzeni nazw zawsze generuje to samo UUID.
Przestrzeń nazw i nazwa
UUID v5 wymaga dwóch danych wejściowych: UUID przestrzeni nazw i ciągu znaków nazwy. Powszechnie używane predefiniowane przestrzenie nazw obejmują DNS, URL, OID i X.500 DN, można również użyć niestandardowego UUID przestrzeni nazw.
v5 vs v3
UUID v5 i v3 to UUID oparte na nazwach, główna różnica polega na użytym algorytmie haszującym. v5 używa SHA-1, podczas gdy v3 używa MD5. v5 zapewnia lepsze bezpieczeństwo i odporność na kolizje, jest zalecanym wyborem między nimi.
Zastosowania
UUID v5 jest odpowiednie dla scenariuszy wymagających determinizmu i powtarzalności, jednocześnie wymagających wyższego poziomu bezpieczeństwa. Typowe przypadki użycia obejmują generowanie spójnych identyfikatorów dla trwałych zasobów, generowanie ID z domen lub każdą sytuację, w której te same dane wejściowe mają zawsze generować to samo UUID.
Zalety bezpieczeństwa
UUID v5 używa algorytmu haszującego SHA-1, który zapewnia lepszą odporność na kolizje niż MD5 (używane w UUID v3). Chociaż SHA-1 nie jest już zalecane do przechowywania haseł, nadal jest wystarczająco bezpieczne do generowania unikalnych identyfikatorów.
Predefiniowane przestrzenie nazw
Specyfikacja UUID definiuje cztery standardowe przestrzenie nazw: DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8), URL (6ba7b811-9dad-11d1-80b4-00c04fd430c8), OID (6ba7b812-9dad-11d1-80b4-00c04fd430c8) i X.500 DN (6ba7b814-9dad-11d1-80b4-00c04fd430c8).