> uuid | guid | 생성 <

// 범용 고유 식별자(UUID/GUID)를 즉시 생성하세요

[보안]

암호학적 난수

UUID v4는 crypto.getRandomValues()를 사용하여 암호학적으로 안전한 난수 생성을 합니다. 데이터는 브라우저를 떠나지 않습니다.

[대량]

일괄 생성

한 번에 최대 100개의 UUID를 생성하세요. 데이터베이스 시딩, 테스트, 개발 워크플로우에 완벽합니다.

[무료]

다중 버전

UUID v4(랜덤)와 v1(타임스탬프) 지원. 사용 사례에 맞는 버전을 선택하세요.

// UUID 생성에 대하여

UUID 작동 원리:

UUID(Universally Unique Identifier)는 RFC 4122로 표준화된 128비트 식별자입니다. UUID v4는 122개의 랜덤 비트를 사용하여 2^122개의 가능한 값을 제공합니다. 36자 형식은 버전 및 변형 비트가 포함된 8-4-4-4-12 패턴을 따릅니다.

예시:

550e8400-e29b-41d4-a716-446655440000

일반적인 사용 사례:

  • >데이터베이스 기본 키 및 레코드 식별자
  • >중앙 조정 없는 분산 시스템
  • >세션 토큰 및 상관 관계 ID
  • >파일 명명 및 리소스 식별
  • >API 요청 추적 및 로깅

>> 자주 묻는 질문

Q: UUID란 무엇인가요?

A: UUID(Universally Unique Identifier)는 컴퓨터 시스템에서 정보를 고유하게 식별하는 데 사용되는 128비트 숫자입니다. GUID(Globally Unique Identifier)라고도 합니다. 표준 형식은 하이픈으로 구분된 8-4-4-4-12 16진수 문자입니다.

Q: UUID v4와 v1의 차이점은 무엇인가요?

A: UUID v4는 난수를 사용하여 생성되며 가장 일반적으로 사용되는 버전입니다. UUID v1은 현재 타임스탬프와 노드 식별자를 기반으로 합니다. V4는 단순성과 개인정보 보호 면에서 대부분의 애플리케이션에 권장됩니다.

Q: UUID 충돌 확률은 얼마나 되나요?

A: UUID v4에는 122개의 랜덤 비트가 있어 2^122(약 5.3 x 10^36)개의 가능한 값이 있습니다. 중복 생성 확률은 천문학적으로 낮습니다.

Q: UUID와 GUID의 차이점은 무엇인가요?

A: UUID와 GUID는 본질적으로 같은 것입니다. UUID는 대부분의 표준에서 사용되는 용어이고, GUID는 Microsoft 기술에서 일반적으로 사용되는 용어입니다.

Q: RFC 4122란 무엇인가요?

A: RFC 4122는 UUID 형식, 생성 알고리즘 및 네임스페이스 규칙을 정의하는 인터넷 표준입니다. 5가지 UUID 버전(v1~v5)을 지정합니다.

// 특수 UUID 값

이 고정 값들은 RFC 9562에 정의되어 있습니다.

UUID의미
00000000-0000-0000-0000-000000000000Nil UUID(모든 비트 0)
ffffffff-ffff-ffff-ffff-ffffffffffffMax UUID(모든 비트 1)
6ba7b810-9dad-11d1-80b4-00c04fd430c8DNS 네임스페이스(v3/v5용)

// 코드에서 UUID 생성하기

JavaScript   crypto.randomUUID()
Python       str(uuid.uuid4())
PHP          Ramsey\Uuid\Uuid::uuid4()->toString()
Go           uuid.NewString()
Java         UUID.randomUUID()
C# / .NET    Guid.NewGuid()
PostgreSQL   gen_random_uuid()
MySQL        UUID()
Bash         uuidgen

>> 더 많은 질문

Q: 기본 키로 UUID v4와 v7 중 무엇을 써야 하나요?

A: v7은 타임스탬프로 시작하므로 생성 시각순으로 대략 정렬되고 B-tree 인덱스에 효율적으로 삽입됩니다. v4는 완전한 난수라 큰 테이블에서 삽입 위치가 흩어집니다. 정렬과 인덱스 성능이 중요하면 v7, ID에서 시간이 드러나면 안 되면 v4를 고르세요.

Q: UUID를 데이터베이스에 가장 잘 저장하는 방법은?

A: 네이티브 타입이 있으면 사용하세요(예: PostgreSQL의 uuid). 없다면 CHAR(36)보다 BINARY(16)이 좋습니다. 공간이 절반 이하로 줄고 비교와 인덱스도 빨라집니다.

Q: UUID v4가 두 번 같게 생성될 확률은?

A: UUID v4에는 122비트의 난수가 있습니다. 초당 10억 개를 100년 동안 생성해도, 난수 생성기가 암호학적으로 양호하다면 충돌 확률은 10억 분의 1보다 훨씬 낮습니다.

// 다른 언어