os.urandom(20) 生成的随机数会重复吗?
这里的 urandom 应该是调用的系统的随机方法吧
在 Django REST Framework
中 Token 的生成方法
def save(self, *args, **kwargs):
if not self.key:
self.key = self.generate_key()
return super(Token, self).save(*args, **kwargs)
def generate_key(self):
return binascii.hexlify(os.urandom(20)).decode()
PHP中文网2017-04-17 17:36:06
기본적으로 충돌 확률은 매우 낮다고 생각하실 수 있으며, 여기에 지정된 길이는 20비트입니다. 전혀 충돌이 없다고는 할 수 없지만 확률은 매우 낮으며 기본적으로는 있을 것입니다. 갈등 없음.
문서 보기
반환된 데이터는 암호화 애플리케이션에 대해 예측할 수 없을 만큼 예측할 수 없어야 하지만 정확한 품질은 OS 구현에 따라 다릅니다.
반환된 데이터는 암호화 관련 암호화에 유용할 정도로 "예측 불가능"합니다.
테스트를 했는데 1000W 기록이 생성되었습니다. 데이터 테스트 강도를 높이고 다시 시도할 수 있습니다. 통계적인 관점에서 보면 이 매우 낮은 확률의 사건이 일어날 확률은 0이라고 볼 수 있습니다.
으아악