UltKit

UUID 생성기

무작위 버전 4 UUID를 한 번에 1개부터 100개까지 만들어 목록으로 복사합니다. 브라우저의 암호학적으로 안전한 난수 생성기를 쓰며, 붙여 넣은 UUID의 버전과 변형을 알려 주는 확인 기능도 있습니다.

0자 · 0단어 · 0줄

이 브라우저 탭 안에서만 처리됩니다. 입력한 텍스트는 업로드되거나 저장되지 않습니다.

UUID 버전

버전은 세 번째 그룹의 첫 자리이고, 변형은 네 번째 그룹의 첫 자리에 담깁니다(RFC UUID는 8, 9, a, b). 예시는 RFC 9562의 테스트 벡터입니다.

버전생성 방식예시
v1그레고리력 타임스탬프 + 노드(MAC) IDc232ab00-9414-11ec-b3c8-9f6bdeced846
v3네임스페이스 + 이름의 MD5 해시5df41881-3aed-3515-88a7-2f4a814cf09e
v4무작위 122비트919108f7-52d1-4320-9bac-f847db4148a8
v5네임스페이스 + 이름의 SHA-1 해시2ed6657d-e927-568b-95e1-2665a8aea6a2
v6시간순 정렬되도록 v1 타임스탬프를 재배열1ec9414c-232a-6b00-b3c8-9f6bdeced846
v7Unix 밀리초 + 무작위 비트, 정렬 가능017f22e2-79b0-7cc3-98c4-dc0c0c07398f
v8애플리케이션이 정의하는 사용자 지정 구조2489e9ad-2ee2-8e00-8ec9-32d5f69181c0

UUID란 무엇이고 어떻게 읽는가

UUID(범용 고유 식별자, Microsoft 소프트웨어에서는 GUID라고 부름)는 128비트 숫자로, f47ac10b-58cc-4372-a567-0e02b2c3d479처럼 16진수 32자리를 8-4-4-4-12 그룹으로 나눠 적습니다. 2005년 RFC 4122로 표준화되었고, 2024년 5월 이 문서를 대체한 RFC 9562는 기존 버전을 유지하면서 새 버전 세 가지를 추가했습니다. 두 자리는 고정되어 있습니다. 세 번째 그룹의 첫 자리는 버전(4372의 4)이고, 네 번째 그룹의 첫 자리는 변형을 나타내며 RFC를 따르는 모든 UUID에서 8, 9, a, b 중 하나입니다.

버전 4는 나머지 122비트를 무작위 데이터로 채웁니다. 이 공간은 너무 넓어서 중복이 하나라도 생길 확률이 50%가 되려면 약 270경(2.7 × 10¹⁸) 개를 만들어야 합니다. 그래서 여러 시스템이 조율 없이 각자의 컴퓨터에서 v4 ID를 만들 수 있습니다. 이 페이지는 crypto.randomUUID를, 그것이 없으면 crypto.getRandomValues를 쓰며, 예측 불가능하도록 설계되지 않은 Math.random은 절대 쓰지 않습니다. 대문자와 하이픈 없이 옵션은 표기만 바꿀 뿐 값은 같으며, 대부분의 파서는 대소문자를 가리지 않습니다.

v4, v7, 그리고 다른 버전

버전 1과 6은 타임스탬프와 노드 ID(원래는 컴퓨터의 MAC 주소)로 만들어지므로 ID가 언제 어디서 생성되었는지 드러납니다. 버전 3과 5는 네임스페이스와 이름을 MD5나 SHA-1로 해시하므로 같은 입력에서 항상 같은 UUID가 나옵니다. 버전 8은 사용자 지정 방식을 위한 자유 구조입니다. 새로 추가된 버전 중 가장 중요한 것은 버전 7입니다. 48비트 Unix 밀리초 타임스탬프로 시작하고 나머지를 무작위 비트로 채우므로, ID가 생성 시간순으로 정렬됩니다.

이 순서 덕분에 데이터베이스 기본 키로 v7을 고려할 만합니다. 무작위 v4 키는 B-tree 인덱스 곳곳에 흩어져 들어가 테이블이 커질수록 페이지를 쪼개고 캐시 지역성을 떨어뜨립니다. 반면 v7 키는 자동 증가 열처럼 대체로 증가하는 순서로 들어오면서도 중앙 카운터 없이 만들 수 있습니다. 생성 시점을 포함해 아무것도 드러내지 않는 ID가 필요하면 v4를, 삽입 성능과 시간순 정렬이 중요하면 v7을 고르세요. UUID는 식별자이지 비밀이 아닙니다. 비밀번호와 API 비밀 키에는 전용 비밀번호 생성기를 쓰세요. 다른 인코더와 검사 도구는 개발자 도구에 있습니다.

자주 묻는 질문

무작위로 만든 UUID 두 개가 같을 수 있나요?
이론상으로는 가능하지만 실제로는 일어나지 않습니다. 무작위 비트가 122개이므로, 난수 소스가 건전하다면 초당 10억 개의 v4 UUID를 약 86년 동안 만들어도 충돌이 한 번 날 확률은 약 50%에 불과합니다.
UUID와 GUID는 무엇이 다른가요?
본질적으로 같습니다. GUID는 같은 128비트 식별자를 Microsoft가 부르는 이름입니다. 일부 Microsoft 도구는 GUID를 대문자로 표시하거나 중괄호로 감싸는데, 이 페이지의 확인 기능은 그런 형식도 받아들입니다.
UUID의 버전은 어떻게 알 수 있나요?
세 번째 그룹의 첫 자리를 보세요. 4는 무작위, 7은 시간순, 1은 타임스탬프와 노드를 뜻합니다. UUID 확인에 붙여 넣으면 버전과 변형이 표시됩니다.
데이터베이스 키로 v4 대신 UUIDv7을 써야 하나요?
대개 그렇습니다. v7 키는 시간순이라 B-tree 인덱스를 촘촘하게 유지하고 삽입을 빠르게 합니다. v7 ID에 담긴 생성 시간을 감춰야 한다면 v4를 계속 쓰세요.
UUID를 비밀번호 재설정 토큰으로 써도 안전한가요?
안전한 생성기로 만든 v4 UUID는 무작위 비트가 122개라 추측할 수 없을 만큼 충분하지만, 많은 라이브러리가 만료 시간을 명시하는 전용 토큰 함수를 제공합니다. v1이나 v7처럼 시간 기반 버전은 절대 비밀로 쓰지 마세요.