UUID는 서로 다른 시스템이 각자 만들어도 겹칠 걱정이 사실상 없는 128비트 식별자입니다. 데이터베이스의 기본 키, 파일 이름, 요청 추적용 상관 ID처럼 중앙에서 번호를 나눠 주기 곤란한 자리에 씁니다. 이 페이지는 그중 버전 4, 즉 값 전체를 난수로 채우는 방식의 UUID를 한 번에 최대 쉰 개까지 만들어 줍니다.
난수는 브라우저에 내장된 암호학적 난수 발생기에서 가져옵니다. 최신 브라우저라면 표준 함수인 crypto.randomUUID를 그대로 쓰고, 그 함수가 없는 환경에서는 crypto.getRandomValues로 16바이트를 받아 버전 자리와 변형 자리를 규격대로 채워 넣는 방식으로 대신합니다. 어느 경로든 값은 규격에 맞는 v4 형태이고, 예측 가능한 의사난수를 쓰지 않습니다.
출력 형태는 두 가지 옵션으로 조절합니다. 대문자를 켜면 16진수 부분이 모두 대문자로 나오고, 하이픈 제거를 켜면 구분선 없이 서른두 자리로 붙어 나옵니다. 데이터베이스 컬럼에 하이픈 없이 저장하는 관행을 쓰거나, 대문자 표기를 요구하는 시스템에 넣을 때 편합니다. 옵션을 바꾸면 값이 그 자리에서 새로 생성되며, 개수 칸에 숫자를 넣고 엔터를 쳐도 바로 만들어집니다. 페이지를 처음 열면 다섯 개가 미리 생성되어 있어요.
A이 도구는 버전 4만 지원합니다. 시간과 MAC 주소를 쓰는 v1이나 시간 정렬이 되는 v7이 필요하다면 각 언어의 라이브러리를 쓰셔야 합니다.
Av4는 122비트가 난수라 실무 규모에서 충돌은 사실상 무시할 수 있는 수준입니다. 다만 수학적으로 0은 아니므로 절대적 유일성이 계약상 요구되는 곳이라면 데이터베이스에 유일 제약을 함께 걸어 두세요.
A아닙니다. 값은 보고 계신 브라우저 안에서 만들어지고 서버는 이 과정을 알지 못합니다. 화면에 나온 UUID는 페이지를 새로 고치면 사라지며 어디에도 기록되지 않습니다.
A브라우저가 제공하는 암호학적 난수 발생기를 쓰기 때문에 예측이 어렵습니다. 자바스크립트의 일반 난수 함수는 사용하지 않습니다.
A되돌릴 수 있습니다. 8-4-4-4-12 자리로 끊어 하이픈을 넣으면 원래 표기가 되고, 값 자체는 동일합니다. 다만 이 페이지에 되돌리는 기능은 따로 없습니다.
A생성 버튼을 여러 번 눌러 나눠 복사하면 됩니다. 매번 새 난수라 반복해서 눌러도 같은 값이 나오지 않습니다.
A브라우저의 암호 기능에 접근하지 못한 경우입니다. 보안 컨텍스트가 아니거나 아주 오래된 브라우저일 수 있으니 주소가 https로 시작하는지 확인하고 최신 브라우저에서 다시 열어 보세요.
A규격상 생성은 소문자로 하고 비교할 때는 대소문자를 구분하지 않는 것이 표준 권고입니다. 특정 시스템이 대문자를 요구하는 경우가 아니라면 소문자 그대로 두는 편이 무난합니다.