У меня есть модель в Django, которая использует UUID таким образом:Как Django генерирует uuid?
uuid = models.CharField(max_length=100, default=uuid.uuid1)
Дело в том, когда я создал 2 объекта, один за другим, я получил это:
933e35c4-df1c-11e6-8a53-ace01055799e
И потом:
933e35c5-df1c-11e6-8a53-ace01055799e
из того, что я знаю, что каждый UUID генерируется случайным образом, но вероятность столкновения очень мала, то как именно они генерируются, когда я получаю эти 2 UUID, которые являются почти то же самое? (он отличается только последним числом первого блока) и насколько это возможно? Есть ли более безопасный способ сделать это?
Дело в том, что у меня есть набор клиентов, каждый из которых получает уникальный uuid по электронной почте, если они могут просто изменить один символ и перейти на другой uuid клиента, что было бы проблемой.
Он даже говорит, как он сгенерирован в первой строке кода, который вы указали: Использование функции 'uuid.uuid1', код которой присутствует в вашей стандартной библиотеке Python .. – Phillip