개발자

UUID 생성기

데이터베이스 키, API 토큰 또는 테스트 픽스처에 UUID가 필요하신가요? v4 UUID를 하나씩 또는 일괄로 — 한 번에 최대 100개 — 생성하고 클립보드에 직접 복사하세요.

이 계산기가 도움이 되었나요?

UUID 생성기이란?

UUID(범용 고유 식별자) 생성기는 랜덤 버전 4 UUID를 생성합니다 — 전 세계 모든 시스템에서 실질적으로 고유한 128비트 식별자입니다. 각 UUID는 표준 형식 8-4-4-4-12(하이픈 포함 36자)를 따르며 읽기, 저장 및 전송이 쉽습니다. 버전 자리(위치 13)는 항상 4이고, 변형 자리(위치 17)는 항상 8, 9, A 또는 B이므로 RFC 4122를 완전히 준수합니다. 데이터베이스 기본 키, API 토큰, 세션 ID, 테스트 픽스처 또는 중앙 기관과의 조율 없이 보장된 고유 식별자가 필요한 모든 애플리케이션에 대해 한 번에 1~100개의 UUID를 생성합니다.

이 계산기를 사용해야 할 때

  • 분산 시스템에서 데이터베이스 기본 키에 대한 고유 식별자가 필요
  • 중앙 권한 없이 전 세계적으로 고유해야 하는 API 리소스 식별자를 생성 중
  • 단위 테스트 또는 통합 테스트에 고유 ID가 있는 테스트 픽스처가 필요
  • 고유 토큰 생성이 필요한 세션 관리 시스템을 구축 중
  • 데이터 마이그레이션 또는 가져오기를 위해 여러 고유 식별자를 일괄로 생성해야 함
  • 이미 가지고 있는 UUID가 유효하고 올바르게 포맷되었는지 확인하고 싶음

단계:

  1. 생성할 UUID 수를 선택하세요(1-100).
  2. UUID 생성 버튼을 클릭하세요.
  3. 개별 UUID를 복사하거나 모두 복사를 사용하세요.
  4. 생성 시 자동 복사를 위해 자동 복사를 토글하세요.

공식

UUID v4 형식: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx 여기서 x는 무작위 16진수이고 y는 8, 9, A 또는 B 중 하나입니다(RFC 4122 변형). 총 조합: ~5.3 × 10^36

사용 사례

  • 분산 시스템을 위한 데이터베이스 기본 키
  • API 리소스 식별자
  • 사용자 세션 토큰
  • 주문 및 트랜잭션 ID

주요 이점

  • 원클릭으로 1~100개의 UUID를 즉시 생성
  • 개별 또는 배치 UUID를 원클릭으로 클립보드에 복사
  • 원활한 개발 워크플로우 통합을 위한 자동 복사 모드
  • 가입, 계정 또는 서버 연결 없이 완전 무료
  • 클라이언트 측 생성으로 UUID가 브라우저를 벗어나지 않도록 보장
  • 범용 호환 형식(RFC 4122)은 모든 주요 데이터베이스 및 프레임워크에서 작동

전문가 팁

  • 시간 순서 지정이 불필요한 범용 고유 식별자에는 UUID v4 사용
  • 저장 공간을 50% 절약하고 인덱스 성능을 향상시키려면 데이터베이스에서 UUID를 문자열 대신 binary(16)로 저장
  • 시간 순서대로 정렬된 고유 ID가 필요한 경우 UUID v7 또는 ULID 사용
  • 보안 중요 애플리케이션에서는 클라이언트 측에서 UUID를 생성하지 말 것 — 대신 서버 측 CSPRNG 사용
  • auto-increment ID에서 마이그레이션할 때 중단을 피하기 위해 기존 정수 열 옆에 UUID 열 추가

피해야 할 일반적인 실수

  • 노드가 독립적으로 ID를 생성하는 분산 시스템에서 UUID 대신 auto-increment ID 사용
  • UUID가 시간별로 정렬 가능하다고 가정 — 표준 v4 UUID는 랜덤; 시간순 정렬된 식별자에는 UUID v7 또는 ULID 사용
  • UUID를 16바이트 바이너리 대신 36자 문자열로 저장하여 55%의 추가 저장 공간을 낭비하고 인덱스 성능을 저하시킴
  • 보안된 UUID 생성에 클라이언트 측 Math.random()에 의존 — 암호학적으로 안전하지 않음

주요 용어 설명

UUID: 범용 고유 식별자 — RFC 4122에 의해 표준화된 128비트 식별자
UUID v4: 랜덤 버전 4 UUID — 가장 일반적으로 사용되는 버전, 122개의 랜덤 비트에서 생성
GUID: 전역 고유 식별자 — UUID 표준의 Microsoft 구현, 기능적으로 동일
RFC 4122: UUID 형식, 버전 및 변형 필드 구조를 정의하는 IETF 표준화 문서
CSPRNG: 암호학적으로 안전한 의사 난수 생성기 — 보안 컨텍스트에서 UUID 생성에 필요

관련 개념

  • 버전 4 UUID: 완전히 무작위 비트에서 생성된 UUID, 버전 필드는 0100(4)으로 설정되고 변형 비트는 RFC 4122에 따라 설정
  • GUID(Globally Unique Identifier): UUID 표준의 Microsoft 구현, UUID v4와 기능적으로 동일
  • RFC 4122: UUID 형식, 버전 및 UUID 구조의 변형 필드를 정의하는 표준화 문서
  • 충돌: 두 개의 독립적으로 생성된 UUID가 동일한 극히 드문 사건 — v4 UUID의 경우 확률은 약 5.3×10^36분의 1
  • UUID v7: 최상위 비트에 Unix 타임스탬프를 인코딩하는 더 새로운 UUID 버전, 고유함을 유지하면서 시간 순서 및 정렬 가능

예시

생성된 UUID: 550e8400-e29b-41d4-a716-446655440000 — 위치 13에 4가 있어 버전 4를 나타내고, 위치 17에 "a"가 있어 RFC 4122 변형을 나타내는 표준 v4 UUID.

결과 해석 방법

생성기는 버전 4 UUID를 생성합니다. 이는 표준 16진수 형식 8-4-4-4-12(하이픈 포함 36자)를 따르는 128비트 무작위 식별자입니다. 버전 4는 버전 및 변형 표시기를 제외한 모든 비트가 무작위임을 의미하며, 시스템 간 조정 없이 가능한 최고 수준의 고유성을 제공합니다. 생성된 UUID에는 특정 구조 마커가 있습니다: 13번째 문자는 항상 4(버전 4를 나타냄)이고, 17번째 문자는 항상 8, 9, A 또는 B(RFC 4122 변형을 나타냄)입니다. 이러한 마커는 v4 UUID를 다른 버전과 구별하고 표준 준수를 보장합니다. 개발 중 UUID를 하나씩 생성해야 할 때 자동 복사 기능을 사용하세요 — 각 UUID는 생성 시 즉시 클립보드에 복사됩니다. 대량 작업에 UUID 배치가 필요한 경우 모두 복사를 사용하세요. 배치 생성은 서버 통신 없이 브라우저에서 완전히 실행됩니다.

자주 묻는 질문

UUID란 무엇입니까?
UUID(Universally Unique Identifier)는 RFC 4122에 의해 표준화된 128비트 식별자입니다. 버전 4 UUID는 무작위로 생성되며 시스템 간에 고유함이 실질적으로 보장됩니다.
UUID는 얼마나 고유합니까?
매우 고유합니다. 5.3×10^36개의 가능한 v4 UUID가 있습니다. 충돌 확률이 매우 낮아 100년 동안 매초 10억 개의 UUID를 생성해도 충돌 위험이 거의 0에 가깝습니다.
UUID는 무엇에 사용됩니까?
UUID는 데이터베이스 기본 키, API 리소스 식별자, 세션 토큰, 트랜잭션 ID 및 중앙 권한 없이 고유 식별자가 필요한 모든 곳에서 사용됩니다.
UUID와 GUID의 차이점은 무엇입니까?
GUID(Globally Unique Identifier)는 UUID 표준의 Microsoft 구현입니다. 기능적으로 동일하며 교환 가능합니다.
UUID는 정말로 고유함이 보장됩니까?
어떤 UUID 표준도 절대적인 고유함을 보장하지 않습니다 — 그러나 v4 UUID의 충돌 확률은 천문학적으로 낮아(5.3×10^36분의 1) 실질적으로 불가능한 것으로 간주됩니다. 참고로 50% 충돌 확률에 도달하려면 100년 동안 매초 10억 개의 UUID를 생성해야 합니다.
기본 키에 UUID와 자동 증가 정수 중 무엇을 사용해야 합니까?
UUID는 분산 시스템에 더 적합합니다. 조정 없이 모든 노드에서 독립적으로 생성할 수 있기 때문입니다. 정수는 더 간단하고 작아 순차적 순서가 중요한 단일 데이터베이스 애플리케이션에 더 적합합니다. UUID는 데이터 양에 대한 정보도 유출하지 않습니다(5,000의 순차적 ID는 공격자에게 5,000개의 레코드가 있음을 알려줍니다).
UUID를 시간순으로 정렬할 수 있습니까?
표준 v4 UUID는 무작위이며 시간별로 정렬할 수 없습니다. UUID v7(최신 라이브러리에서 사용 가능)은 최상위 비트에 타임스탬프를 인코딩하여 시간 정렬 가능하게 합니다. 시간 순서 고유 ID가 필요한 경우 v4의 대안으로 UUID v7 또는 ULID를 고려하십시오.
UUID를 문자열과 바이너리로 저장하는 차이점은 무엇입니까?
문자열은 36자(36바이트)를 사용하는 반면 바이너리는 16바이트를 사용합니다. 바이너리 저장은 저장 공간과 인덱스 성능 모두에 더 효율적입니다. 대부분의 데이터베이스는 바이너리 변환을 자동으로 처리하는 UUID별 열 유형을 지원합니다. MySQL에서는 binary(16)를, PostgreSQL에서는 네이티브 uuid 유형을 사용하십시오.
v4 UUID에서 13번째 문자가 항상 '4'인 이유는 무엇입니까?
13번째 문자는 UUID의 비트 48-51을 차지하며 버전 번호를 인코딩합니다. 버전 4의 경우 이 비트는 0100으로 설정되며 이는 16진수 4입니다. 이렇게 하여 모든 UUID 리더가 UUID를 버전 4(무작위)로 식별합니다.
클라이언트 측에서 UUID를 생성하는 것이 안전합니까?
보안이 중요하지 않은 목적의 경우, 예. 보안이 중요한 애플리케이션(세션 토큰, API 키, 비밀번호 재설정 토큰)의 경우 서버 측에서 암호학적으로 안전한 난수 생성기를 사용하십시오. 브라우저 기반 Math.random()은 암호학적으로 안전하지 않지만 최신 브라우저의 crypto.getRandomValues()는 대부분의 목적에 허용됩니다.
한 번에 몇 개의 UUID를 생성할 수 있습니까?
이 생성기는 배치당 최대 100개의 UUID를 지원합니다. 더 큰 배치의 경우 생성기를 여러 번 실행하거나 UUID 라이브러리가 있는 서버 측 스크립트를 사용할 수 있습니다. 생성은 네트워크 요청 없이 완전히 클라이언트 측에서 이루어지므로 배치가 거의 즉시 완료됩니다.

더 많은 도구 살펴보기

전체 도구 라이브러리에서 엄선한 새로운 추천입니다.