본문 바로가기

Python

[Python] 파이썬 UUID 생성

1. UUID 란?

네트워크 상에서 고유성이 보장되는 id를 만들기 위한 표준 규약
UUID는 Universally Unique IDentifier의 약어이고 범용 고유 식별자
UUID는 128비트 숫자이고, 32자리의 16진수로 표현됨

2. 종류

UUID버전은 1, 3, 4, 5가 있다. 이 중에서 가장 많이 쓰는 버전은 1버전, 4버전이다.
1버전은 타임스탬프 기준으로 생성, 4버전은 랜덤생성 (무작위 UUID 생성)이다.
파이썬에서는 uuid를 import 해서 사용할 수 있다.

import uuid
url = 'https://blanc28logi.tistory.com/'
print(uuid.uuid1())
print(uuid.uuid3(uuid.NAMESPACE_URL, url))
print(uuid.uuid4())
print(uuid.uuid5(uuid.NAMESPACE_URL, url))

# fdfc7b70-a7cd-11ed-bdc9-7ba9a8b14493
# 9f8b380a-6c9f-326c-92ce-3fe472d5eee2
# b580cee5-c8a8-43ee-bec3-b10305140a99
# 543572e9-99c0-5bf5-a63c-511f7b707052

 

  • uuid.uuid1(node=None, clock_seq=None)
    호스트 ID, 시퀀스, 현재시간을 기준으로 uuid를 생성
  • uuid.uuid3(namespace, name)
     namespace uuid와 name의 MD5 해시에서 uuid 생성
  • uuid.uuid4(node=None, clock_seq=None)
     랜덤 uuid 생성
  • uuid.uuid5(node=None, clock_seq=None)
     namespace uuid와 name의 SHA-1 해시에서 uuid 생성