프로젝트를 하며 이메일 인증을 할때 난수 생성
이 필요하였다.
코드를 랜점으로 발급한 후 해당 사용자의 이메일이 정말 맞는지를 확인해야하기 때문이다.
물론, Java에도 랜덤 모듈이 존재한다. 하지만 이는 의사 난수(pseudo-random)이므로 확실하게 난수를 인증 번호로 보내고 싶었다. 그래서 사용한 모듈이 UUID
이다.
UUID는 Universially Unique Identifier
의 약자로, 범용 식별자를 뜻한다. UUID는 KeyGen 방법으로 널리 사용되는 방법 중 하나이다.
Java에서는 import java.util.UUID;
로 import 시켜와 사용할 수 있다.
UUID는 KeyGen 방법에 사용될 정도로 중복이 거의 없다. UUID는 1초에 10억 개의 UUID를 100년 동안 생성했을 때 최소 1개가 중복(충돌) 될 확률이 약 50% 정도라고 한다. 사실상 거의 없다고 봐도 무방하다.
그렇다면 Java 코드에서는 어떤 형태로 나타날까?
String code = UUID.randomUUID().toString();
의 형태로 사용된다.