범용 고유 식별자란 컴퓨터 시스템 내에서 고유한 객체를 식별하기 위해 사용하는 값이다. UUID 표준에 따라 이름을 부여하면 고유성을 완벽하게 보장할 수는 없지만 실제 사용 상에서 중복될 가능성이 거의 없다고 인정되기 때문에 많이 사용 되고 있다.

UUID는 32개의 16진수로 표현되며 총 36개 문자(32개 문자와 4개의 하이픈)로 된 8-4-4-4-12라는 5개의 그룹을 하이픈으로 구분한다. '340,282,366,920,938,463,463,374,607,431,768,211,456'개의 사용 가능한 UUID가 있다.

550e8400-e29b-41d4-a716-446655440000

버전 1과 버전2

버전1은 컴퓨터의 MAC 주소와 타임스탬프 값을 기반으로 사용한다. 버전2는 규모가 큰 시스템 환경을 고려하여 자릿수 일부를 지역별 정의로 남겨두었다.

하지만 MAC 주소와 타임스탬프 값은 맥 주소와 시간값이 가 같을 수도 있기 때문에 값은 값이 생성 될수 있기 때문에 버전1과 버전2는 더 이상 사용하지 않는다.

버전 3과 버전 5

버전 3과 버전 5는 네임스페이스와 문자열을 받아 해시 함수를 사용해 UUID로 변환한다. 입력값이 같으면 UUID도 같다는 특성이 있으며, 해시 충돌을 막기 위해 별도의 네임스페이스 UUID를 받는다.

버전 3은 UUID는 MD5를, 버전 5는 SHA-1를 기반으로 한다.

버전4

오늘날 가장 많이 사용되는 UUID 버전이다. 버전을 표기하는 4비트를 제외한 나머지 122비트를 모두 무작위로 생성한다. 그래서 보통 UUID를 말한다면 버전4를 이야기하는 것으로 봐도 좋다.

실사용 예