UUID 생성기
데이터베이스, API 또는 테스트용 무작위 UUID v4 값을 생성합니다.
UUID 생성기 사용 방법
- 1 UUID 개수 설정
생성할 식별자 수를 지정하려면 UUID 개수 필드에 1~10 사이의 숫자를 입력하세요.
- 2 생성하기
이 계산기는 브라우저의 암호화 랜덤 소스를 사용하여 무작위 UUID v4 값을 생성합니다.
- 3 결과 복사
데이터베이스, API 페이로드 또는 테스트 픽스처에 사용할 생성된 UUID를 복사하세요.
이 UUID 생성기 작동 방식
이 도구는 브라우저의 무작위성을 사용하여 버전 4 UUID를 생성합니다. UUID v4 식별자는 버전(4)과 현대 UUID 사양에서 사용되는 표준 변형을 나타내기 위해 특정 비트가 설정된 128비트 값입니다. 가능한 경우 crypto.randomUUID()를 사용하고, 그렇지 않으면 crypto.getRandomValues()를 사용합니다. 두 Web Crypto API를 모두 사용할 수 없는 경우, 도구는 취약한 식별자를 생성하는 대신 UUID 생성이 지원되지 않음을 보고합니다.
UUID v4 = xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx (여기서 y ∈ {8,9,a,b}) 출력 예시: 550e8400-e29b-41d4-a716-446655440000
1개의 UUID를 생성하면 a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d와 같은 단일 값이 생성됩니다. 세 번째 그룹의 4는 버전 4임을 나타냅니다.
3개의 UUID를 생성하면 각각 122개의 랜덤 비트를 가진 3개의 고유한 값이 반환됩니다. 테스트 레코드나 API 리소스의 기본 키로 사용하세요.
- ✓ 가능한 경우 브라우저의 암호화 난수 API를 사용합니다.
- ✓ Math.random()으로 대체되지 않습니다. Web Crypto를 사용할 수 없는 경우, 생성기는 UUID 생성이 지원되지 않음을 보고합니다.
- UUID v4는 순차적이지 않으며, 정렬된 삽입이 유리한 데이터베이스에서 정렬 가능한 기본 키로 사용하기에 적합하지 않습니다.
- RFC 9562 — 범용 고유 식별자 (UUIDs) — UUID v4 형식 및 무작위 비트 구조
- MDN — Crypto.randomUUID() — 암호학적으로 안전한 브라우저 UUID 생성
UUID 버전 및 구조 이해하기
UUID(Universally Unique Identifier)는 5개 그룹(8-4-4-4-12)으로 나뉜 32자리의 16진수로 표현되는 128비트 값입니다. 버전 4 UUID는 122비트에 무작위 또는 의사 무작위 데이터를 사용하며, 나머지 비트는 버전(4)과 변형(variant)을 인코딩합니다. 충돌 확률은 약 2^122분의 1로 천문학적으로 낮기 때문에 UUID는 별도의 조정 없이도 사실상 고유합니다. 다른 버전도 존재합니다. v1은 타임스탬프와 MAC 주소를 사용하고, v3와 v5는 이름 기반 해시를 사용하며, v7은 시간 순서대로 정렬됩니다. UUID v4는 중앙 기관이나 공유 상태 없이도 생성할 수 있어 분산 시스템에서 가장 일반적으로 선택됩니다.
개발자를 위한 UUID 활용 사례
개발자는 데이터베이스의 기본 키, 분산 추적의 상관관계 ID, API 페이로드의 고유 식별자로 UUID를 사용합니다. 자동 증가 정수와 달리 UUID는 중앙 데이터베이스에 연결하지 않고도 클라이언트 측이나 모든 서비스에서 생성할 수 있어 수평적 확장과 오프라인 우선 아키텍처를 단순화합니다. 여러 시스템에서 생성된 레코드를 나중에 결합하는 병합 시나리오에 이상적입니다. 또한 UUID는 OAuth 상태 매개변수, 웹훅 서명, 충돌 방지를 위한 파일 명명에도 사용됩니다. 테스트 시 필요에 따라 UUID를 생성하면 하드코딩을 피할 수 있고 픽스처를 재현 가능하게 만듭니다. 주요 단점은 크기(36자)와 순차 ID에 비해 정렬 기능이 부족하다는 점입니다.
자주 묻는 질문
이 UUID들은 고유한가요? +
실질적인 모든 용도에서 그렇습니다. 중복이 발생할 확률은 천문학적으로 희박합니다(2^122분의 1).
프로덕션 환경에서 사용할 수 있나요? +
환경에서 Web Crypto 무작위성을 제공하는 경우 예입니다. Web Crypto를 사용할 수 없는 경우, 도구는 취약한 무작위성으로 보안처럼 보이는 식별자를 생성하는 대신 UUID 생성이 지원되지 않음을 보고합니다.
이 결과는 추정치로만 사용하시고, 중요한 결정은 전문가와 상담하시기 바랍니다.
입력 데이터는 향후 기능에서 별도로 안내하지 않는 한 브라우저에만 유지됩니다.
관련 계산기
관련 계산기를 탐색하여 결과와 가정을 비교해 보세요.
Epoch 시간 변환기
Unix 타임스탬프를 UTC 날짜로 변환하거나 날짜를 epoch 초 단위로 변환합니다.
진법 변환 계산기
정수를 2진수, 8진수, 10진수, 16진수로 변환합니다.
JSON 포맷터
구조 분석을 통해 JSON의 유효성을 검사하고 보기 좋게 출력합니다.