본문 바로가기

IT

udid와 uuid의 차이점은?

728x90
반응형

 

 

 

 

 

UDID(Unique Device Identifier)와 UUID(Universally Unique Identifier)는 모두 고유 식별자이지만, 사용되는 맥락과 목적, 그리고 형식이 다릅니다.


✅ UDID (Unique Device Identifier)

  • 정의: Apple iOS 기기(예: iPhone, iPad)의 고유한 식별자.
  • 사용 목적: 개발자가 테스트 중인 디바이스를 식별하기 위해 사용.
  • 형식: 40자리의 영숫자 문자열 (예: 2b6f0cc904d137be2e1730235f5664094b831186)
  • 고정 여부: 각 기기에 대해 고정되어 있음.
  • 주의사항:
    • 보안과 개인 정보 보호 이슈로 인해 Apple은 iOS 7 이후부터 일반 앱에서는 UDID 접근을 막음.
    • 현재는 Identifier for Vendor (IDFV) 또는 Identifier for Advertisers (IDFA) 등의 대체 수단 사용.

✅ UUID (Universally Unique Identifier)

  • 정의: 전 세계적으로 고유한 식별자를 생성하기 위한 표준 형식.
  • 사용 목적: 범용적으로 고유 ID가 필요한 모든 곳 (예: 세션 ID, 사용자 ID, 파일 이름 등).
  • 형식: 32자리 16진수 + 하이픈 (8-4-4-4-12 형식)
    예: 550e8400-e29b-41d4-a716-446655440000
  • 고정 여부: 일반적으로 사용될 때마다 새로 생성됨 (고정 아님).
  • 버전: UUID는 1~5까지의 버전이 있음 (예: 시간 기반, 이름 기반, 무작위 기반 등).

🔍 요약

항목 UDID UUID
용도 iOS 디바이스 고유 식별자 범용 고유 식별자 생성
형식 40자리 영숫자 32자리 16진수 + 하이픈
고정 여부 디바이스에 고정 일반적으로 매번 새로 생성
사용처 Apple 내부, 개발 테스트용 세션, DB 키, 트래킹 등 범용
보안 일반 앱 접근 불가 (제한됨) 자유롭게 생성 가능



 

 

UDID를 사용하는 상황

⚠️ 단, 현재는 접근이 제한되었기 때문에 제한적인 환경에서만 사용 가능.

사용 예시:

  • 개발 중인 iOS 앱을 특정 디바이스에 테스트할 때
    • Apple의 Ad Hoc 배포개발자용 테스트를 위해 디바이스 UDID가 필요함.
    • Xcode에서 디바이스를 등록할 때 사용.
  • 사내 앱 배포 시 특정 기기에만 설치를 허용하려는 경우

사용 조건:

  • iOS 개발자 계정이 있어야 하고,
  • 일반 앱에서는 접근이 불가능하기 때문에, 테스트 목적이나 관리용 시스템에서만 사용.

 

UUID를 사용하는 상황

대부분의 경우에는 이걸 사용해요!

사용 예시:

  • 앱 사용자 세션 관리
    • 예: 로그인할 때 생성되는 세션 ID
  • DB의 기본 키 생성
    • 예: 게시글, 댓글, 사용자 등 고유 ID가 필요한 객체들
  • 파일 이름 충돌 방지
    • 예: 사용자 업로드 파일에 UUID를 붙여서 고유하게 저장
  • 디바이스 구분(익명)
    • 예: 사용자의 프라이버시를 보호하면서도 기기별 설정 저장 시

선택 팁:

  • 고유한 값이 필요하지만 개인정보가 아닌, 비식별성이 중요할 때 사용
  • 보안상 UDID 사용이 막혀있거나 부담스러울 경우 UUID로 충분히 대체 가능

✅ 간단 요약

상황 추천 식별자 비고
iOS 개발 중 특정 디바이스 지정 UDID 테스트용, Ad Hoc 배포
사용자, 세션, 객체 구분 UUID 일반적으로 권장됨
업로드 파일 고유 이름 지정 UUID 중복 방지
디바이스 추적이 필요하지만 개인 정보는 원치 않음 UUID (or IDFA, IDFV) iOS에서는 UUID 기반 대체 수단 사용 가능

 

 

 

 

300x250
반응형