반응형
UUID란 뭘까?
파이썬으로 UUID를 어떻게 만들 수 있을까?
UUID란?
범용 고유 식별자 (Universally unique identifier, UUID)는 식별자 표준으로, 개방 소프트웨어 재단(OSF)에서 분산 컴퓨팅 환경에 사용하기 위해 만든 표준이다. 아래와 같이 5가지 버전이 있다.
버전 1 (MAC 주소)
버전 2 (DCE 보안)
버전 3 (MD5 해시)
버전 4 (랜덤)
버전 5 (SHA-1 해시)
UUID 생성하기
import uuid
url = "https://devpouch.tistory.com"
uuid1 = uuid.uuid1()
uuid3 = uuid.uuid3(uuid.NAMESPACE_URL,url)
uuid4 = uuid.uuid4()
uuid5 = uuid.uuid5(uuid.NAMESPACE_URL,url)
print(uuid1) # 93a3521f-8b69-11ed-b901-00d861381196
print(uuid3) # b376caea-8dd1-3247-8cf8-f97e4170948a
print(uuid4) # 767f12ad-c52c-4d6d-851b-cfc70b8c16c7
print(uuid5) # 333e4631-c125-58eb-afb3-a0f0a425a834
파이썬에서 uuid는 해당 모듈을 임포트하여 사용할 수 있다.
uuid2 같은 경우는 현재 거의 쓰이지 않아서, 제공하지 않는 것으로 추정된다. (출처)
각각의 버전별 설명은 아래와 같다. 공식 문서를 참고하였다.
함수명 | 설명 |
uuid.uuid1(node=None, clock_seq=None) | 호스트 ID, 현재 시간, 시컨스 넘버를 기준으로 생성함 |
uuid.uuid3(namespace, name) | 이름 공간 식별자(UUID) 및 이름(문자열)의 MD5 해시를 기반으로 UUID 생성. |
uuid.uuid4() | 랜덤 |
uuid.uuid5(namespace, name) | 이름 공간 식별자(UUID) 및 이름(문자열)의 SHA-1 해시를 기반으로 UUID 생성. |
UUID 표준에 따라 이름을 부여하면 고유성을 완벽하게 보장할 수는 없지만 실제로 중복될 가능성은 거의 없기 때문에 실무에서도 자주 사용된다.
반응형
'Python' 카테고리의 다른 글
[python] 파이썬으로 제곱/n승/제곱근 구하는 방법 (0) | 2022.12.11 |
---|---|
[python] unix timestamp를 읽을 수 있는 datetime 형식 변환하기 (0) | 2022.11.22 |
[python] LINE 메신저로 메시지 보내기 (Noti 주기) (0) | 2022.11.15 |
[python] ERROR: ApiError(406, 'Content-Type header [application/vnd.elasticsearch+x-ndjson; compatible-with=8] is not supported' 에러 해결법 (0) | 2022.11.15 |
[python] 2차원 배열 0으로 초기화하기 (0) | 2022.11.07 |