AG UUID

Вероятность коллизии и безопасность

Разбираемся, действительно ли UUID уникален и можно ли использовать его как токен безопасности.

Вероятность коллизии

v4 состоит из 122 случайных бит, что даёт до 5×10³⁶ вариантов. При реальных масштабах коллизии практически не происходят, но генерировать значения обязательно нужно из криптографического источника случайности (getRandomValues).

Предсказуемость

v1 и v7 содержат временную метку, поэтому по ним можно предположить время создания. Для сессионных и секретных токенов, которые должно быть трудно угадать, безопаснее использовать v4 или специализированный генератор токенов.

Замечание по безопасности

UUID гарантирует лишь «уникальность», но не «секретность». В аутентификации и авторизации используйте UUID только как уникальный ключ, а секретные значения храните в виде отдельных токенов безопасности.