ByteCompress

UUID 생성기

브라우저에서 암호학적으로 무작위인 버전 4 UUID를 즉시 생성하세요. RFC 9562에 따라 Web Crypto API를 사용하여 단일 또는 대량 생성이 가능합니다.

51
FreeClient-sideNo signup

UUID v4는 122비트의 무작위성을 가지고 있어 약 5.3×1036개의 가능한 값을 제공합니다. 단일 충돌의 50% 확률을 가지려면 2.71×1018개의 UUID를 생성해야 합니다. 초당 10억 개를 생성할 경우 85년이 걸립니다. UUID v4는 RFC 9562( RFC 4122의 후속)에서 표준화되었으며 현대 분산 시스템에서 가장 널리 배포된 식별자 형식입니다. 이 생성기는 브라우저의 crypto.randomUUID() API를 사용하며, 운영 체제의 CSPRNG에 의해 지원됩니다. 하나의 UUID 또는 수백 개를 한 번에 생성하세요 - 서버도 필요 없고 가입도 필요 없습니다.

UUID 생성 방법

  1. 생성을 클릭하여 즉시 단일 UUID를 생성하세요.
  2. 수량(예: 10, 100, 1000)을 입력하고 대량 생성을 클릭하여 여러 UUID를 한 번에 생성하세요.
  3. 목록에서 원하는 UUID를 클릭하여 개별적으로 복사하거나 모두 복사를 사용하여 전체 목록을 복사하세요.
  4. 대상 시스템에 필요한 대로 대문자 또는 소문자 출력 형식을 선택하세요.
  5. 다운로드를 사용하여 텍스트 파일로 내보내세요.

UUID v4 설명

구조 및 형식

UUID는 8-4-4-4-12 패턴으로 구성된 32개의 16진수 문자입니다: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx. 세 번째 그룹의 4는 고정되어 있습니다(버전 4). 네 번째 그룹의 첫 1-2비트는 이진수로 10으로 고정되어 있습니다(RFC 4122 변형). 나머지 122비트는 무작위로 생성됩니다. UUID v4는 모든 주요 클라우드 제공업체, 데이터베이스 시스템 및 웹 프레임워크에서 기본 식별자 형식으로 사용됩니다.

충돌 확률

2122개의 가능한 값(~5.3×1036)이 있는 UUID v4를 적절한 CSPRNG로 생성하는 것은 실제 응용 프로그램에서 통계적으로 무시할 수 있습니다. UUID v4의 충돌은 실용적인 목적을 위해 불가능한 것으로 간주됩니다.

예시

생성된 UUID v4

f47ac10b-58cc-4372-a567-0e02b2c3d479

다양한 표현의 동일한 UUID

하이픈 포함:  f47ac10b-58cc-4372-a567-0e02b2c3d479
대문자:   F47AC10B-58CC-4372-A567-0E02B2C3D479
하이픈 없음:  f47ac10b58cc4372a5670e02b2c3d479
URN 형식:  urn:uuid:f47ac10b-58cc-4372-a567-0e02b2c3d479

UUID 버전 비교

  • v1 - 시간 기반, 생성 기계의 MAC 주소를 포함합니다. 하드웨어 정보를 노출하고 순차적인 패턴이 있습니다. 보안 민감한 식별자에는 피하세요.
  • v3 / v5 - 이름 기반 및 결정적: 동일한 입력 네임스페이스 + 이름은 항상 동일한 UUID를 생성합니다. 재현 가능한 식별자에 유용합니다.
  • v4 - 완전히 무작위(122비트). 포함된 정보가 없고 순차적인 패턴이 없습니다. 애플리케이션 생성 식별자에 가장 널리 사용되는 유형입니다.
  • v7 - 시간 순서가 있는 무작위 UUID(RFC 9562). 처음 48비트는 Unix 밀리초 타임스탬프이며, v7 UUID는 생성 시간에 따라 정렬할 수 있습니다. v4보다 데이터베이스 B-트리 인덱스 성능이 더 좋습니다.

일반적인 사용 사례

  • 기본 키 - PostgreSQL(uuid 유형), MySQL(VARCHAR(36)), MongoDB에서 사용
  • 분산 시스템 ID - 여러 서비스가 중앙 시퀀스 없이 독립적으로 레코드를 생성하는 경우
  • API 리소스 식별자 - 공용 URL에 노출(열거 공격을 방지하는 순차 정수보다 안전함)
  • 파일 이름 - 충돌을 방지하기 위해 업로드된 자산에 사용
  • 멱등성 키 - API 요청에서 중복 처리를 방지하기 위해 사용

식별자 대신 보안 무작위 비밀번호를 생성하려면 비밀번호 생성기를 사용하세요. 데이터베이스 정렬이 가능한 시간 기반 식별자를 원한다면 데이터베이스 드라이버나 ORM에서 UUID v7 지원을 찾아보세요.

자주 묻는 질문

실제로 버전 4 UUID는 얼마나 고유한가요?

UUID v4는 122비트의 무작위성을 가지고 있어 약 5.3×1036개의 가능한 값을 제공합니다. 단일 충돌의 50% 확률을 가지려면 2.71×1018개의 UUID를 생성해야 하며, 초당 10억 개를 생성할 경우 약 85년이 걸립니다. 모든 실용적인 응용 프로그램에서 UUID v4의 충돌은 불가능한 것으로 간주됩니다.

여기에서 생성된 UUID는 암호학적으로 안전한가요?

네. 이 도구는 crypto.randomUUID() (또는 crypto.getRandomValues()를 대체로 사용) 를 사용하며, 둘 다 운영 체제의 CSPRNG에 의해 지원됩니다. 생성된 UUID는 보안 토큰, 세션 식별자 및 기타 보안 민감한 컨텍스트에서 사용하기에 적합합니다.

데이터베이스 기본 키로 UUID 또는 자동 증가 정수를 사용해야 하나요?

둘 다 장단점이 있습니다. UUID v4는 여러 노드가 독립적으로 ID를 생성하는 분산 시스템에서 잘 작동하며, 공용 URL에서 ID를 예측할 수 없게 만들어 열거 공격을 방지하고 데이터베이스 병합을 단순화합니다. 자동 증가 정수는 더 간단하고 작으며(4-8바이트 대 16바이트), 순차 삽입에 대해 B-트리 인덱스 성능이 더 좋습니다. UUID v7은 무작위 UUID이면서도 시간 정렬이 가능한 중간 지점을 제공합니다.

UUID의 형식은 무엇인가요?

UUID는 하이픈으로 구분된 32개의 소문자 16진수 문자로 구성되어 있으며, 8-4-4-4-12 패턴을 따릅니다: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx. 하이픈을 포함한 총 문자열 길이는 36자입니다. PostgreSQL은 UUID를 기본 16바이트 이진 유형으로 저장하며, MySQL과 SQLite는 일반적으로 36자 문자열로 저장합니다.

오프라인에서 UUID를 생성할 수 있나요?

네. 이 페이지가 로드되면 UUID 생성은 완전히 로컬 JavaScript와 브라우저의 내장 crypto API를 사용하여 실행됩니다. 생성 중에는 네트워크 요청이 이루어지지 않습니다. 초기 페이지 로드 후 이 도구는 오프라인에서 작동합니다.