Generuj UUID v3 oparte na nazwie i przestrzeni nazw, używając algorytmu skrótu MD5.
Uwaga: dla tej samej przestrzeni nazw i nazwy zawsze zostanie wygenerowany ten sam UUID
Wprowadzenie do UUID v3
UUID v3 to unikalny identyfikator generowany na podstawie nazwy i przestrzeni nazw, używający algorytmu skrótu MD5. Może generować spójne UUID dla tych samych kombinacji nazwy i przestrzeni nazw.
Przestrzeń nazw i nazwa
UUID v3 wymaga dwóch wejść: przestrzeni nazw UUID i ciągu nazwy. Powszechnie używane wstępnie zdefiniowane przestrzenie nazw obejmują DNS, URL, OID i X.500 DN, można również użyć niestandardowej przestrzeni nazw.
v3 vs v5
UUID v3 i v5 to UUID oparte na nazwach, główna różnica polega na użytym algorytmie haszującym. v3 używa MD5, podczas gdy v5 używa SHA-1. v5 zapewnia lepsze bezpieczeństwo, ale v3 może być bardziej wydajne w niektórych środowiskach.
Zastosowania
UUID v3 jest odpowiednie dla scenariuszy wymagających determinizmu i powtarzalności, takich jak generowanie stałych ID z nazw użytkowników, przypisywanie stałych identyfikatorów zasobów itp. Każda sytuacja, w której te same dane wejściowe mają zawsze generować to samo UUID, jest odpowiednia dla v3.
Zagadnienia bezpieczeństwa
Chociaż UUID v3 używa haszowania MD5, jako identyfikator jest zwykle bezpieczny. Jednakże, jeśli bezpieczeństwo jest istotnym czynnikiem, zaleca się użycie UUID v5 opartego na SHA-1, ponieważ MD5 zostało udowodnione jako niewystarczająco bezpieczne w kryptografii.
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).