UUID?

Jee.e (황지희)·2023년 1월 25일
1

이번엔 UUID가 뭔지, 어떤 원리도 만들어지는지 공부해보았습니다.


UUID

UUID는 Universally Unique IDentifier 의 약자로 범용 고유 식별자입니다.

  • UUID는 전 세계에 중복 없는 고유한 값으로, 그 고유성이 중앙 서버나, 생성 당사자 간의 조정에 의존하지 않습니다.
  • UUID가 복제될 확률은 무시할 수 있을 정도의, 0에 가까운 것으로 간주됩니다.
  • UUID는 앱 삭제시 기존 값이 초기화되어 재생성됩니다.
  • 재설치에도 같은 값이 필요하다면 KeyChain 등에 저장해야합니다.
  • UUID에는 총 4가지 버전이 존재하는데, Apple에서는 version4(Random)을 제공합니다.

UUID Format

  • 128비트(16 옥텟)의 수입니다.
  • 16진수로 표현됩니다.
  • 총 36개의 문자(32개의 문자 + 4개의 하이픈)를 포함해, 8-4-4-4-12 형태로 구성되어있습니다.
  • Ex. 550e8400-e29b-41d4-a716-446655440000

Version

  • Version 1
    생성된 장치의 MAC 주소와 1582년 10월 15일부터 100나노초 단위로 측정된 현재 타임스탬프를 기반으로 합니다.

  • Version 2
    DCE 보안의 방식으로 생성되며, 자세한 내용을 RFC에서 제공하지 않는다.

  • Version 3, 5
    무작위가 아닌 입력 문자열과 네임 스페이스로 구성되며,
    3은 MD5 해시를 기반으로, 5는 SHA-1 해시를 기반으소 생성됩니다.

  • Version 4
    • 무작위로 생성됩니다.
    • 경우의 수는 2^122로 복제될 확률은 거의 희박합니다.

Swift에서 UUID 생성하는 방법

print(UUID.init())
print(UUID().uuidString)

profile
교훈없는 경험은 없다고 생각하는 2년차 iOS 개발자입니다.

0개의 댓글