충돌 확률과 보안
UUID가 정말 유일한지, 그리고 보안 토큰으로 써도 되는지 살펴봅니다.
충돌 확률
v4는 122비트 난수라 경우의 수가 5×10³⁶에 달합니다. 현실적인 규모에서 충돌은 사실상 일어나지 않지만, 반드시 암호학적 난수원(getRandomValues)으로 생성해야 합니다.
예측 가능성
v1·v7은 타임스탬프를 포함하므로 생성 시각을 유추할 수 있습니다. 추측이 곤란해야 하는 세션·비밀 토큰에는 v4나 전용 토큰 생성기를 쓰는 편이 안전합니다.
보안 주의
UUID는 "고유함"을 보장할 뿐 "비밀"을 보장하지 않습니다. 인증·권한 부여에는 UUID를 유일 키로만 쓰고, 비밀 값은 별도의 보안 토큰으로 관리하세요.