UUID v3는 이름과 네임스페이스를 기반으로 생성되는 고유 식별자로, MD5 해시 알고리즘을 사용합니다. 동일한 이름과 네임스페이스 조합에 대해 일관된 UUID를 생성할 수 있습니다.
네임스페이스와 이름
UUID v3는 두 가지 입력이 필요합니다: 네임스페이스 UUID와 이름 문자열. 일반적으로 사전 정의된 네임스페이스로는 DNS, URL, OID 및 X.500 DN이 있으며, 사용자 정의 네임스페이스를 사용할 수도 있습니다.
v3 대 v5
UUID v3와 v5는 모두 이름 기반의 UUID로, 주요 차이점은 사용하는 해시 알고리즘에 있습니다. v3는 MD5를 사용하는 반면, v5는 SHA-1을 사용합니다. v5는 더 나은 보안성을 제공하지만, v3는 특정 환경에서 더 효율적일 수 있습니다.
적용 시나리오
UUID v3는 결정성과 반복성이 필요한 시나리오에 적합합니다. 예를 들어, 사용자 이름으로부터 영구 ID 생성, 리소스에 고정 식별자 할당 등이 있습니다. 동일한 입력이 항상 동일한 UUID를 생성해야 하는 모든 경우에 v3를 사용하는 것이 적합합니다.
보안 고려 사항
UUID v3는 MD5 해시를 사용하지만, 식별자로 사용할 때는 일반적으로 안전합니다. 그러나 보안이 중요한 고려 사항이라면, MD5가 암호학적으로 충분히 안전하지 않다는 것이 증명되었기 때문에 SHA-1 기반의 UUID v5를 사용하는 것이 권장됩니다.
사전 정의된 네임스페이스
UUID 사양은 네 가지 표준 네임스페이스를 정의합니다: DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8), URL (6ba7b811-9dad-11d1-80b4-00c04fd430c8), OID (6ba7b812-9dad-11d1-80b4-00c04fd430c8) 및 X.500 DN (6ba7b814-9dad-11d1-80b4-00c04fd430c8).