UUID 인스펙터 (버전·변형·시간)
개발
UUID는 단순한 무작위 문자열이 아닙니다 — 128비트에 버전과 변형이 인코딩되어 있고, 시간 기반 버전은 실제 타임스탬프를 담고 있습니다. 이 인스펙터는 임의의 UUID(표준·중괄호·urn:uuid: 형식)를 파싱해 정확히 무엇인지 알려 줍니다: 버전 번호와 이름(v1 시간+노드, v2 DCE, v3 MD5 이름 기반, v4 무작위, v5 SHA-1 이름 기반, v6 재정렬 시간, v7 Unix 에폭 시간, v8 커스텀), 그리고 변형(RFC 4122, 레거시 NCS, Microsoft). v1·v6는 1582-10-15(그레고리력 개혁) 이후 60비트 타임스탬프를 실제 날짜로 디코딩하고, 클록 시퀀스와 노드도 보여 주며 — 노드가 실제 유니캐스트 MAC인지 무작위 멀티캐스트 주소인지 표시합니다. v7은 48비트 Unix 밀리초 타임스탬프를 읽습니다. nil과 max UUID도 인식합니다. "언제 생성됐나?" 또는 "정말 v4인가?"에 빠르게 답하는 방법입니다. 모든 처리는 로컬에서 실행되며 업로드되지 않습니다.
v1/v6은 그레고리력 타임스탬프, v7은 Unix-ms 타임스탬프를 담고, v4는 무작위입니다. 변형은 추측이 아니라 비트에서 읽습니다.
사용법
- UUID를 붙여넣기(대시·중괄호·urn:uuid: 접두사 유무 무관).
- 버전과 변형을 읽으세요. v1/v6/v7은 생성 타임스탬프가 자동 디코딩됩니다.
- 표준 형식이나 타임스탬프는 복사 버튼을 사용하세요.
자주 묻는 질문
- 어떤 버전이 타임스탬프를 담나요?
- v1과 v6은 1582-10-15(그레고리력 개혁) 이후 100나노초 간격의 60비트 카운트를 담고 있어 이 도구가 일반 날짜로 변환합니다. v7은 첫 비트에 48비트 Unix 밀리초 타임스탬프를 담습니다. v3·v4·v5·v8은 디코딩 가능한 시간을 담지 않습니다 — v4는 완전 무작위, v3/v5는 이름의 해시, v8은 구현 정의입니다.
- 버전은 어떻게 결정되나요?
- 버전은 7번째 바이트의 상위 니블(세 번째 대시 그룹의 첫 hex 자리)입니다. 변형은 9번째 바이트의 상위 비트에서 옵니다: 10x는 RFC 4122, 0xx는 레거시 NCS 배치, 110x는 Microsoft GUID 배치입니다. 둘 다 비트에서 직접 읽으므로 정확합니다.
- 노드/MAC는 무엇을 알려 주나요?
- v1 또는 v6 UUID에서 마지막 48비트가 노드입니다. 고전적 v1은 생성 머신의 MAC 주소를 썼지만(프라이버시 문제), 현대 라이브러리는 멀티캐스트 비트를 설정한 무작위 값을 씁니다. 이 도구는 노드를 보여 주고 그 멀티캐스트 비트가 무작위 노드인지 실제 유니캐스트 MAC인지 표시합니다.
- 디코딩된 시간을 믿어도 되나요?
- UUID에 인코딩된 그대로이므로 생성기의 시계가 정확하고 실제로 표방하는 버전이라면 신뢰할 수 있습니다. 위조되거나 수동 편집된 UUID는 임의의 타임스탬프를 담을 수 있으니 시간은 참고용으로 보고 증거로 삼지 마세요.
관련 도구
Base64 ↔ 16진수 변환기
Base64 문자열을 16진수 바이트로, 16진수를 다시 Base64로 변환합니다. URL-safe 지원, 브라우저에서 동작합니다.
Quoted-Printable 인코더 & 디코더
텍스트를 MIME Quoted-Printable(RFC 2045)로 인코딩하거나 다시 디코딩 — =XX 이스케이프·소프트 줄바꿈·UTF-8 처리, 인코딩 시 76자 줄바꿈 — 브라우저에서.
해시 생성기 (SHA)
텍스트로 SHA-1·SHA-256·SHA-384·SHA-512 해시를 생성하세요.
URL 인코더 / 디코더
URL용으로 텍스트를 퍼센트 인코딩하거나, 인코딩된 URL을 디코딩하세요.
Base64 인코더 / 디코더
텍스트를 Base64로 인코딩하거나 다시 텍스트로 디코딩하세요.
JSON 포맷터 & 검증기
브라우저에서 바로 JSON을 포맷·정렬·압축·검증하세요.