UUID UUID Generator

무료 · 회원가입 없음 · 설치 없음

UUID v5 생성기

네임스페이스와 이름을 SHA-1로 해시해 UUID v5를 만듭니다. 이름에서 식별자를 유도할 때 권장되는 버전입니다.

  • SHA-1 해시
  • 결정적
  • 네임스페이스 기반

UUID v5 생성기

v5
범위는 1~1000입니다.
형식

결과 0

    모든 값은 사용자의 기기에서 Web Crypto API로 생성되며, 브라우저 밖으로 전송되지 않습니다. 단축키: Ctrl + Enter — 다시 생성

    UUID v5 개요

    UUID v5는 v3와 구조가 같고 해시 함수만 SHA-1입니다. 네임스페이스와 이름을 이어 붙여 해시한 뒤 128비트로 정리하므로, 같은 입력에는 언제나 같은 UUID가 나옵니다.

    MD5를 쓰는 v3보다 충돌 저항성이 낫기 때문에, 이름 기반 식별자가 필요할 때 RFC 9562가 권하는 쪽은 v5입니다.

    사용 방법

    1. v5를 선택합니다 (이 페이지에서는 이미 선택되어 있습니다).
    2. 네임스페이스를 고릅니다. 기본값은 DNS입니다.
    3. 이름을 입력합니다. 예를 들어 example.com.
    4. UUID 생성을 누릅니다. 입력이 같으면 결과도 같습니다.

    사용 사례

    • 도메인, URL, 이메일처럼 외부에서 정해진 키에 안정적인 ID를 붙일 때.
    • 여러 서비스가 같은 입력에서 같은 UUID를 계산해야 할 때.
    • 데이터 마이그레이션 중 기존 이름을 그대로 유지하며 식별자를 부여할 때.

    구조

    SHA-1 해시의 앞 128비트를 UUID로 옮기고, 13번째 16진수를 버전(5)으로, 17번째를 변형 번호로 고정합니다. 나머지 122비트는 해시에서 나옵니다.

    UUID v5의 역할

    어떤 옵션을 언제 써야 할까
    옵션사용 시점
    v5이름 기반 식별자의 권장 버전
    v3구조는 같지만 MD5라 새로 쓸 이유가 없습니다
    v4입력과 무관한 난수 값이 필요할 때

    UUID 버전 한눈에 보기

    버전정렬 가능값의 출처적합한 용도
    v1불가능타임스탬프 + MAC 주소v1을 계속 쓰는 기존 시스템
    v3불가능이름의 MD5 해시MD5를 꼭 써야 하는 결정적 식별자
    v4불가능122비트 난수대부분의 일반적인 고유 식별자
    v5불가능이름의 SHA-1 해시같은 이름에서 항상 같은 식별자가 필요할 때
    v6가능재배열한 타임스탬프난수성과 정렬을 함께 원할 때
    v7가능밀리초 단위 Unix 시간데이터베이스 기본 키와 이벤트 식별자
    v8불가능사용자 정의 비트 레이아웃사내 형식과 실험적 용도

    일곱 버전 모두 128비트이고, 모두 같은 8-4-4-4-12 표기법으로 표현합니다. 차이는 각 비트가 무엇을 담는지뿐입니다.

    코드 예제

    javascript

    // SHA-1 구현이 필요합니다
    // 예: js-sha1 + 직접 조립
    const id = uuidv5('example.com', NAMESPACE_DNS);

    python

    import uuid
    id = str(uuid.uuid5(uuid.NAMESPACE_DNS, 'example.com'))

    java

    // 라이브러리 없이는 직접 구현해야 합니다

    csharp

    // .NET에는 v5 생성기가 없습니다

    sql

    -- 보통 애플리케이션에서 계산해 저장합니다

    자주 묻는 질문

    v5와 v3의 차이는 무엇인가요?

    해시 함수만 다릅니다. v5는 SHA-1, v3는 MD5를 씁니다. 나머지 구조와 동작 방식은 같습니다.

    v5는 SHA-1을 쓰는데 안전한가요?

    식별자를 만드는 용도로는 충분합니다. SHA-1의 충돌 문제는 서명이나 무결성 검증에서 문제가 되는데, v5는 값을 결정적으로 만들 뿐 보안을 보장하는 용도가 아닙니다.

    같은 이름에 네임스페이스를 바꾸면 어떻게 되나요?

    완전히 다른 UUID가 나옵니다. 네임스페이스도 해시 입력의 일부이기 때문에, 한 번 정한 조합은 바꾸지 않는 것이 좋습니다.