Я вижу выход из нескольких реализаций уникальной генерации строк для таких вещей, как имена загруженных изображений, идентификаторы сеансов и т.д., и многие из них используют использование хешей, таких как SHA1 или другие.
Я не стану сомневаться в легитимности использования настраиваемых методов, подобных этому, а скорее по причине. Если я хочу уникальную строку, я просто говорю это:
>>> import uuid
>>> uuid.uuid4()
UUID('07033084-5cfd-4812-90a4-e4d24ffb6e3d')
И я покончил с этим. Я не очень доверял, прежде чем я прочитал о uuid, поэтому я сделал это:
>>> import uuid
>>> s = set()
>>> for i in range(5000000): # That 5 million!
>>> s.add(str(uuid.uuid4()))
...
...
>>> len(s)
5000000
Не один ретранслятор (я бы не ожидал, что теперь рассматривают шансы, как 1.108e + 50, но это приятно видеть в действии). Вы даже можете сделать половину шанса, просто сделав свою строку, объединив 2 uuid4()
s.
Итак, с учетом сказанного, почему люди тратят время на случайные() и другие вещи для уникальных строк и т.д.? Есть ли важная проблема безопасности в отношении uuid?