UUID UUID Generator

무료 · 회원가입 없음 · 설치 없음

UUID 검증기

UUID가 올바른지 확인하고, 어떤 버전인지와 값 안에 담긴 시각까지 읽어냅니다.

  • 버전 판별
  • 타임스탬프 해석
  • 최대 200줄

UUID 검증기

Validator
최대 200줄입니다. 중괄호, 따옴표, 대문자, 하이픈이 없는 형식도 그대로 붙여넣으면 됩니다.

결과 0

결과가 여기에 표시됩니다.

모든 값은 사용자의 기기에서 Web Crypto API로 생성되며, 브라우저 밖으로 전송되지 않습니다. 단축키: Ctrl + Enter — 다시 생성

UUID 검증 개요

UUID는 길이만 맞으면 유효해 보이지만, 실제로는 13번째 자리의 버전 번호와 17번째 자리의 변형 번호까지 규격에 맞아야 합니다. 이 도구는 그 두 자리를 확인해 버전과 변형을 알려줍니다.

v1, v6, v7처럼 값 안에 시각이 들어 있는 버전은 그 타임스탬프를 풀어 보여줍니다. 로그에서 값만 보고 언제 만들어진 것인지 확인할 때 쓸모가 있습니다.

사용 방법

  1. 한 줄에 하나씩 붙여넣습니다. 최대 200줄입니다.
  2. 중괄호, 따옴표, 하이픈 없는 형식, 대문자 모두 그대로 넣어도 됩니다.
  3. 검증을 누르면 줄마다 유효 여부와 버전이 표시됩니다.
  4. 타임스탬프가 있는 버전은 해당 시각도 함께 보여줍니다.

사용 사례

  • 운영 데이터에 섞여 들어간 잘못된 값 찾아내기.
  • 로그에 찍힌 UUID가 언제 생성된 것인지 역추적.
  • 마이그레이션 전에 기존 컬럼 값이 규격에 맞는지 일괄 점검.

구조

13번째 16진수가 버전을, 17번째가 변형을 나타냅니다. 이 두 자리가 규격을 벗어나면 UUID 형식은 맞아도 유효하지 않은 값으로 처리합니다.

UUID 검증의 역할

어떤 옵션을 언제 써야 할까
옵션사용 시점
검증여러 값을 한 번에 확인하고 시각까지 읽어냅니다
형식 변환같은 값을 다른 표기법으로 바꿀 때
UUID v4유효한 값을 새로 만들 때

UUID 버전 한눈에 보기

버전정렬 가능값의 출처적합한 용도
v1불가능타임스탬프 + MAC 주소v1을 계속 쓰는 기존 시스템
v3불가능이름의 MD5 해시MD5를 꼭 써야 하는 결정적 식별자
v4불가능122비트 난수대부분의 일반적인 고유 식별자
v5불가능이름의 SHA-1 해시같은 이름에서 항상 같은 식별자가 필요할 때
v6가능재배열한 타임스탬프난수성과 정렬을 함께 원할 때
v7가능밀리초 단위 Unix 시간데이터베이스 기본 키와 이벤트 식별자
v8불가능사용자 정의 비트 레이아웃사내 형식과 실험적 용도

일곱 버전 모두 128비트이고, 모두 같은 8-4-4-4-12 표기법으로 표현합니다. 차이는 각 비트가 무엇을 담는지뿐입니다.

코드 예제

javascript

const re = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
console.log(re.test(id));

python

import uuid
try:
    u = uuid.UUID(value)
    print(u.version, u.variant)
except ValueError:
    print('invalid')

java

try {
    UUID u = UUID.fromString(value);
    System.out.println(u.version());
} catch (IllegalArgumentException e) {
    System.out.println("invalid");
}

csharp

if (Guid.TryParse(value, out var g))
    Console.WriteLine("valid");

sql

-- PostgreSQL 13+
SELECT value, value::uuid AS parsed
FROM raw_ids
WHERE value ~ '^[0-9a-f]{8}-';

자주 묻는 질문

왜 어떤 값은 유효한데 버전이 0으로 나오나요?

Nil UUID처럼 모든 비트가 0인 값이나, 버전 자리에 규격에 없는 숫자가 들어간 값입니다. 형식은 맞지만 특정 버전에 속하지 않습니다.

타임스탬프는 왜 일부 버전에서만 보이나요?

v1, v6, v7만 값 안에 시각을 담습니다. v4는 전부 난수이고 v3, v5는 이름의 해시라서 시각 정보가 없습니다.

200줄을 넘으면 어떻게 되나요?

앞 200줄만 처리하고 나머지는 무시합니다. 그 이상은 파일로 나눠서 확인하세요.