Как ramsey / uuid быть уникальным во всем мире? - PullRequest
0 голосов
/ 06 июля 2018

я использовал ramsey/uuid в моем проекте Laravel. Я хочу получить уникальный идентификатор для незарегистрированных участников, чтобы отслеживать их деятельность. но uuid1 и uuid4 генерируют случайный идентификатор для одного и того же члена с одним и тем же компьютером. с другой стороны, uuid3 и uuid5 генерируют один и тот же идентификатор моего другого компьютера для тестирования. Кто-нибудь может сделать уникальный идентификатор машины на основе каждого конечного пользователя?

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

UUID v4 ~ уникален во всем мире (с незначительным риском).Цитируя этот ответ :

Ежегодный риск попадания метеорита в конкретного человека оценивается как один шанс на 17 миллиардов, что означает, что вероятность составляет около 0,00000000006 (6× 10−11), что эквивалентно вероятности создания нескольких десятков триллионов UUID в год и наличия одного дубликата.Другими словами, только после генерирования 1 миллиарда UUID каждую секунду в течение следующих 100 лет вероятность создания только одного дубликата составит около 50%.

Вы можете использовать случайный UUID v4 для своих нужд.

0 голосов
/ 06 июля 2018

UUID предназначен для этого.Существует так много возможностей, что вы никогда не получите * дубликат, даже если используете несколько машин.

Таким образом, чтобы вероятность дублирования составляла один на миллиард, необходимо 103 триллиона UUID версии 4сгенерировано.

https://en.wikipedia.org/wiki/Universally_unique_identifier#Collisions*

...