UUID 생성
UUID Generator
UUID v1·v4·v5·v7을 한 번에 여러 개 만들고, v1·v7에 담긴 시각을 해독합니다.
UUID를 브라우저에서 만듭니다. 그냥 난수면 v4, 생성 시각 순으로 정렬돼야 하면 v7, 같은 입력에 항상 같은 id가 나와야 하면 v5나 v3입니다. 뜯어보기도 합니다. UUID를 붙여넣으면 버전과 variant 비트를 읽고, v1·v6·v7이면 안에 묻힌 타임스탬프까지 꺼냅니다.
난수 122비트. 기본값이고, 정렬이 필요한 게 아니라면 이게 정답입니다.
UUID 0개
이 탭에서 `crypto.getRandomValues`로 만듭니다. 서버에 아무것도 요청하지 않으므로 이 값들을 본 사람은 아무도 없습니다.
UUID 뜯어보기
UUID를 붙여넣으면 버전과 variant 비트를, v1·v6·v7이면 안에 든 타임스탬프까지 읽어 줍니다.
버전과 variant 비트는 RFC 9562를 따르며 부록 A의 예제로 대조했습니다. v1·v6의 노드 id는 멀티캐스트 비트를 세운 난수입니다. 브라우저에는 흘릴 MAC 주소가 없습니다.
사용 방법
버전을 고릅니다
특별한 이유가 없으면 v4입니다. 이유는 대개 정렬입니다. v7은 앞쪽 비트에 유닉스 밀리초를 담고 있어서, 이걸 키로 쓰는 테이블은 삽입 순서를 유지하고 인덱스가 흩어지지 않습니다.
표기를 정합니다
대문자, 하이픈, 그리고 윈도우와 .NET이 쓰는 `{…}` 중괄호입니다. 글자만 바뀌고 아래의 128비트는 그대로입니다.
v3·v5라면 네임스페이스와 이름을 줍니다
이 버전들은 둘을 해싱합니다. 그래서 DNS 네임스페이스에 `www.example.com`을 주면 어디서 언제 돌려도 같은 UUID가 나옵니다. 그게 존재 이유이고, 그래서 난수가 아닙니다.
한꺼번에 복사하거나 하나를 뜯어봅니다
전체 복사는 목록 전체를 가져가고, 각 줄 옆의 뜯어보기는 그 값을 아래 해석 칸에 넣습니다. 원본 16바이트도 함께 보여 줍니다.
자주 묻는 질문
토큰으로 써도 될 만큼 무작위인가요?
v4는 `crypto.getRandomValues`에서 나온 난수 122비트를 담습니다. 진짜 CSPRNG이고 122비트짜리 비밀만큼 추측하기 어렵습니다. 하지만 v1·v6·v7은 대부분이 타임스탬프이고, v3·v5는 누군가 짐작할 수 있는 입력의 해시입니다. 예측 불가능한 건 v4뿐입니다.
v1이 MAC 주소를 흘리나요?
여기서는 아닙니다. 원래 v1은 네트워크 카드 주소를 썼고 그래서 그런 평판이 생겼습니다. 브라우저는 그 주소에 접근할 수 없어서, 노드 필드는 멀티캐스트 비트를 세운 난수입니다. 명세가 바로 이런 경우를 위해 열어 둔 길입니다.
v5를 여러 개 뽑으면 왜 전부 같지 않나요?
줄마다 이름 뒤에 번호를 붙이기 때문입니다. 안 그러면 열 개를 뽑아도 같은 값이 열 번 찍히는데, 맞기는 해도 쓸모가 없습니다. 정확히 그 이름의 해시가 필요하면 하나씩 뽑으세요.
UUID를 기본 키로 써도 되나요?
v7이면 대체로 괜찮고 v4면 대체로 아닙니다. 난수 키는 삽입이 B-트리 전체로 흩어져 인덱스를 조각내고, 큰 테이블에서는 그 차이가 측정됩니다. 이미 v4를 쓰고 있고 아프다면, 사람들이 하는 이동은 v7입니다.
이 도구로 이어지는 것
다음 단계
이 도구의 결과를 그대로 받을 수 있는 도구들입니다.
유닉스 타임스탬프 변환
Unix Timestamp Converter
에포크 초·밀리초·ISO 8601·사람이 읽는 날짜를 원하는 시간대로 상호 변환합니다.
ULID·NanoID 생성
ULID & NanoID Generator
정렬 가능한 ULID나 짧은 NanoID를 알파벳·길이를 정해 만들고 충돌 확률을 보여 줍니다.
랜덤 키 생성
Random Key Generator
원하는 길이의 암호학적 난수를 16진수·Base64·Base64URL로 만들어 앱 시크릿에 씁니다.
Base64 인코딩·디코딩
Base64 Encoder & Decoder
텍스트와 파일을 Base64·Base64URL로 인코딩·디코딩하며 UTF-8을 올바르게 처리합니다.
curl 코드 변환
curl to Code
curl 명령을 fetch·axios·파이썬 requests·Go·PHP·PowerShell 코드로 변환합니다.
텍스트 해시 생성
Text Hash
문자열의 MD5·SHA-1·SHA-256·SHA-384·SHA-512·CRC-32를 계산하고 대문자·Base64 출력도 지원합니다.