UUID v5 생성기
네임스페이스와 이름으로 결정적 네임스페이스 기반 UUID(버전 5, SHA-1)를 생성합니다 — 같은 입력은 항상 같은 UUID를 만듭니다.
…
사용법
- 네임스페이스를 고릅니다 — DNS, URL, OID, X.500, 또는 붙여넣은 사용자 UUID.
- 해시할 이름을 입력합니다(예: 도메인이나 URL).
- 생성된 버전 5 UUID를 복사합니다. 같은 네임스페이스·이름이면 항상 같습니다.
자세한 설명
펼치기접기
버전 5 UUID는 추첨이 아니라 해시입니다. 네임스페이스 UUID 뒤에 이름을 붙여 SHA-1을 돌리고, 앞의 16바이트가 식별자가 되며, 6비트를 덮어써서 버전과 변형을 기록합니다. 그 결과 같은 네임스페이스와 같은 이름은 어떤 기계에서든, 어떤 언어에서든, 언제까지나 같은 UUID를 만들어 냅니다. 이것이 존재 이유 전부이고, 버전 4의 무작위성과는 정반대입니다. 표준 네임스페이스 네 가지 중 하나를 고르거나 직접 붙여 넣고 이름을 입력하면, 해싱은 웹 크립토 API를 통해 로컬에서 이뤄집니다.
쓸모를 만들어 내는 것이 바로 이 결정성입니다. 시스템의 모든 서비스가 레코드의 식별자를 안정적인 자연 키 — URL, 도메인, 파일 경로, 계정 번호 — 에서 유도한다면, 서로 조율하지 않고도, 공유 카운터 없이도, ID가 무엇인지 물어보는 왕복 없이도 전부 같은 UUID에 도달합니다. 같은 데이터를 두 번 들여와도 같은 식별자가 나오므로, 옛 키를 새 키에 대응시키는 조회 테이블 없이 멱등한 업서트가 가능해집니다.
여러분의 UUID가 남들 것과 일치하는지를 가르는 세부가 둘 있습니다. 네임스페이스는 하이픈이 든 36자 텍스트가 아니라 16바이트 원시 값으로 해싱됩니다. 문자열을 그대로 해싱하는 것이야말로, 그럴듯해 보이지만 다른 어떤 라이브러리와도 일치하지 않는 UUID를 만들어 내는 가장 흔한 경로입니다. 이름도 바이트로 해싱되므로 인코딩이 중요합니다. 같은 이름이라도 UTF-8과 UTF-16에서 서로 다른 UUID가 나오는데, RFC는 하나를 강제하는 대신 그 선택을 네임스페이스 자체의 관례에 맡깁니다. 이 도구는 UTF-8을 쓰고, 흔히 쓰이는 모든 라이브러리가 그렇게 합니다.
버전 5가 아닌 것은 보안 수단입니다. 이름을 추측할 수 있는 사람은 UUID를 계산할 수 있다는 의미에서 입력은 복원 가능하므로, 이메일 주소에서 UUID를 유도한다고 해서 추측을 대조해 보는 사람에게서 그 주소를 감출 수는 없습니다. 또 SHA-1은 작정한 공격자에 대해 더 이상 충돌 저항성이 없습니다. 자기 데이터로 직접 만드는 식별자에는 문제가 되지 않지만, 공격자가 이름을 고를 수 있는 상황이라면 문제가 됩니다.
자주 묻는 질문
v5는 v4와 어떻게 다른가요?
버전 4는 랜덤이라 호출할 때마다 다른 UUID가 나옵니다. 버전 5는 결정적입니다: 네임스페이스와 이름의 SHA-1 해시이므로 같은 입력은 항상 같은 UUID를 만듭니다.
표준 네임스페이스는 무엇인가요?
RFC 4122는 네 가지를 정의합니다: DNS, URL, OID, X.500 — 각각 고정된 UUID입니다. 도메인엔 DNS, URL엔 URL을 쓰거나, 애플리케이션용 네임스페이스 UUID를 직접 넣으세요.
v5는 안전하거나 복원 가능한가요?
단방향 해시라 UUID에서 이름을 복원할 수는 없지만, 비밀은 아닙니다 — 같은 네임스페이스·이름이면 누구나 같은 값을 얻습니다. 데이터를 숨기는 용도로 쓰지 마세요.
왜 버전 3은 안 되나요?
버전 3은 SHA-1 대신 MD5를 씁니다. 브라우저 Web Crypto API는 MD5를 지원하지 않으며, v5가 권장되는 현대적 대안이라 이 도구는 v5를 생성합니다.
관련 도구
XPath 테스터
브라우저에서 XML이나 HTML에 XPath 식을 실행해 일치하는 모든 노드를 봅니다. 네임스페이스 접두어와 해석 오류도 함께 보고합니다.
개발
JSON 키 정렬
JSON 객체 키를 알파벳순 정렬. 중첩 객체로 재귀해서 전체 문서 정규화 옵션.
개발
해시 생성기 (SHA)
텍스트로 SHA-1·SHA-256·SHA-384·SHA-512 해시를 생성하세요.
개발
UUID 생성기
무작위 버전4 UUID를 여러 개 한 번에 생성하고 복사하세요.
개발
HMAC 생성기 (SHA-1·256·384·512)
Web Crypto로 HMAC 서명 계산 — 웹훅 페이로드 서명, API 요청 검증, hex 또는 base64.
개발
UUID 인스펙터 (버전·변형·시간)
임의의 UUID를 붙여넣어 버전(1~8)·변형, 그리고 시간 기반 v1·v6·v7의 경우 내장된 생성 타임스탬프·클록 시퀀스·노드(MAC)까지 디코딩 — 브라우저에서.
개발