Python이 UUID 라이브러리를 사용하여 고유 ID를 생성하는 방법에 대한 자세한 설명입니다.

高洛峰
풀어 주다: 2017-03-23 17:45:44
원래의
1882명이 탐색했습니다.

UUID 소개
UUID는 128비트 전역 고유 식별자이며 일반적으로 32바이트 문자열로 표시됩니다. GUID라고도 하는 시간과 공간의 고유성을 보장할 수 있습니다. 전체 이름은 UUID - Python에서 UUID라고 하는 Universally Unique IDentifier입니다.
생성된 ID의 고유성을 보장하기 위해 MAC 주소, 타임스탬프, 네임스페이스, 난수 및 의사 난수를 사용합니다.
UUID에는 크게 5가지 알고리즘, 즉 이를 구현하는 5가지 방법이 있습니다.

uuid1()
로그인 후 복사

- 타임스탬프 기준. MAC 주소, 현재 타임스탬프 및 임의의 숫자에서 생성됩니다. 글로벌 고유성은 보장되지만, MAC을 사용하면 LAN에서 MAC 대신 IP를 사용할 수도 있어 보안 문제도 발생합니다.

uuid2()
로그인 후 복사

——분산 컴퓨팅 환경 DCE 기반(이 기능은 Python에 존재하지 않음). 알고리즘은 타임스탬프의 처음 4개 위치가 POSIX UID로 대체된다는 점을 제외하면 uuid1과 동일합니다. 이 방법은 실제로는 거의 사용되지 않습니다.

uuid3()
로그인 후 복사

- 이름 기반 MD5 해시 값입니다. 이는 이름과 네임스페이스의 MD5 해시 값을 계산하여 얻어지며, 동일한 네임스페이스에 있는 서로 다른 이름의 고유성과 서로 다른 네임스페이스의 고유성을 보장하지만, 동일한 네임스페이스에 있는 동일한 이름은 동일한 UUID를 생성합니다.

uuid4()
로그인 후 복사

- 임의의 숫자를 기준으로 합니다. 의사 난수로부터 얻은 특정 반복 확률이 있으며 이 확률을 계산할 수 있습니다.

uuid5()
로그인 후 복사

- 이름 기반 SHA-1 해시 값입니다. 알고리즘은 Secure Hash Algorithm 1 알고리즘이 사용된다는 점을 제외하면 uuid3과 동일합니다.
사용 예

#! coding:utf-8
import uuid
print u"uuid1 生成基于计算机主机ID和当前时间的UUID"
print uuid.uuid1() # UUID('a8098c1a-f86e-11da-bd1a-00112444be1e')
print u"\nuuid3 基于命名空间和一个字符的MD5加密的UUID"
print uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org') #UUID('6fa459ea-ee8a-3ca4-894e-db77e160355e')
print u"\nuuid4 随机生成一个UUID"
print uuid.uuid4() #'16fd2706-8baf-433b-82eb-8c7fada847da'
print u"\nuuid5 基于命名空间和一个字符的SHA-1加密的UUID"
uuid.uuid5(uuid.NAMESPACE_DNS, 'python.org') #UUID('886313e1-3b8a-5372-9b90-0c9aee199e5d')
print u"\n根据十六进制字符生成UUID"
x = uuid.UUID('{00010203-0405-0607-0809-0a0b0c0d0e0f}')
print u"转换成十六进制的UUID表现字符"
print str(x) # '00010203-0405-0607-0809-0a0b0c0d0e0f'
로그인 후 복사


결과

uuid1 生成基于计算机主机ID和当前时间的UUID
31a936a1-2339-11e6-8542-9cb70ded607f
uuid3 基于命名空间和一个字符的MD5加密的UUID
6fa459ea-ee8a-3ca4-894e-db77e160355e
uuid4 随机生成一个UUID
67e6497c-8aec-4413-9955-da86f38ff2d6
uuid5 基于命名空间和一个字符的SHA-1加密的UUID
根据十六进制字符生成UUID
转换成十六进制的UUID表现字符
00010203-0405-0607-0809-0a0b0c0d0e0f
로그인 후 복사


요약
위는 UUID 라이브러리를 사용하여 고유한 ID를 생성하는 Python에 대한 내용입니다. 이 글은 모든 사람에게 도움이 될 것입니다. Python을 배우거나 사용하는 것이 도움이 될 수 있습니다. 궁금한 점이 있으면 메시지를 남겨서 소통하세요.


위 내용은 Python이 UUID 라이브러리를 사용하여 고유 ID를 생성하는 방법에 대한 자세한 설명입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿