트랜잭션에 대해 고유 한 식별자를 만들고 싶습니다.해시 (시간)의 고유성
hashlib.md5((time.time()).encode('utf-8')).hexdigest()
프로세서 (멀티 프로세싱)의 구조에 따라 달라
는 고유성이 있는가?
트랜잭션에 대해 고유 한 식별자를 만들고 싶습니다.해시 (시간)의 고유성
hashlib.md5((time.time()).encode('utf-8')).hexdigest()
프로세서 (멀티 프로세싱)의 구조에 따라 달라
는 고유성이 있는가?
고유 한 식별자가 필요하면 UUIDs으로 가십시오. 타임 스탬프를 사용하여 자신의 UUID와 동등한 것을 조리하지 마십시오.
해시는 다른 시간 값으로 충돌 할 수 있습니다. 당신은 UUID -specifically UUID1을 사용하기를 원할 것입니다 (UUID 여러 버전의)
https://docs.python.org/2/library/uuid.html#uuid.uuid1
UUID1 입력으로 시간을 사용, 그래서만큼 UUID가 생성되는 시간이 다르므로, 당신은 다른 출력을 보장합니다.
우선 해시 알고리즘은 알고리즘이며 알고리즘의 정의에 따라 무언가를 성취하기 위해 '잘 정의 된'단계가되어야하므로 해시는 아키텍처에 의존하지 않으므로 아키텍처 등은 아무런 영향을 미치지 않습니다.
두 번째로 md5는 '합리적인'시간에 다른 값에 대해 동일한 md5 해시를 가질 수 있으므로 안전하지 않습니다. see wikipedia md5sum #security
해싱하기 전에는 고유하지 않은 것 같습니다. 왜 시간이 필요합니까? 글로벌 카운터의 문제점은 무엇입니까? – delnan