작업 히스토리 (History)
기록된 작업이 없습니다.

로그인하시면 작업 기록을 무제한으로 저장하고 여러 기기에서 동기화하여 사용할 수 있습니다.

UUIDULIDGENERATOR

UUID 생성기

고유 식별자인 UUID v4, v1 및 ULID를 대량으로 생성합니다.

Options
Count
15001000
Generated IDs

도구 설명 및 사용 방법

고유 식별자인 UUID v4, v1 및 ULID를 대량으로 생성합니다.

사용 단계

1
상단 드롭다운에서 생성할 식별자 유형(UUID v4, UUID v1, ULID)을 결정합니다.
2
동시에 획득하기 원하는 식별자의 총 수량을 입력합니다.
3
식별자 내부의 하이픈 표시 및 영어 알파벳 대소문자 표기 규칙을 구성합니다.
4
리스트업되어 쏟아진 고유 아이디 목록을 복사하거나 텍스트 파일로 일괄 저장해 로깅에 활용합니다.

작동 원리 및 상세 설명

UUID 식별자 생성기는 RFC 4122 공식 스펙 비트 마스크 처리에 기초합니다. UUID v4는 16바이트 랜덤 난수를 추출해 버전 비트와 바이트 구분 오프셋 위치를 조정하고 하이픈 형태 문자열로 직렬화합니다. ULID는 Crockford's Base32 알파벳(26개 문자, 가독성 혼란 문자 배제)을 사용해 시간 스탬프와 난수를 26글자의 문자열로 안전 인코딩합니다.

자주 묻는 질문 (FAQ)

UUID v4의 고유성과 충돌 확률은 어떻게 되나요?
UUID v4는 128비트 크기로 총 2^122(약 5.3x10^36)개의 고유값을 갖습니다. 우주 전체 수준의 개수이므로 매초 10억 개씩 UUID를 85년 동안 생성해도 단 하나의 고유식별자 충돌이 발생할 확률은 50% 미만에 불과하므로 분산 데이터베이스 기본키(Primary Key)로 안심하고 쓰실 수 있습니다.
ULID(Universally Unique Lexicographically Sortable Identifier)의 메리트는 무엇인가요?
UUID는 시간 순 정렬이 안 되어 DB 인덱싱 효율이 떨어지는 한계가 있습니다. ULID는 상위 48비트에 정밀 밀리초 타임스탬프를 담고 하위 80비트에 난수를 배치하여, 고유 식별자 역할을 수행함과 동시에 문자열 기준 사전식 시간 정렬(Lexicographical Sort)이 가능한 차세대 유틸리티 식별자 규격입니다.

코드 사용 예시

JavaScript를 활용한 표준 UUID v4 난수 생성 구현 예제
javascript
function generateUUIDv4() {
  // cryptographically secure한 16바이트 랜덤 버퍼 획득
  const tempArray = new Uint8Array(16);
  window.crypto.getRandomValues(tempArray);
  
  // RFC 4122 규격에 따라 버전(4) 및 변형(variant) 비트 마스킹 조정
  tempArray[6] = (tempArray[6] & 0x0f) | 0x40; // Version 4 설정
  tempArray[8] = (tempArray[8] & 0x3f) | 0x80; // Variant 10xx 설정
  
  const hexValues = Array.from(tempArray).map(b => b.toString(16).padStart(2, '0'));
  return `${hexValues.slice(0, 4).join('')}-${hexValues.slice(4, 6).join('')}-${hexValues.slice(6, 8).join('')}-${hexValues.slice(8, 10).join('')}-${hexValues.slice(10, 16).join('')}`;
}

crypto.getRandomValues 및 RFC 4122 비트 마스킹 기법을 준수하여 작성한 UUID v4 안전 연산 코드입니다.