UUID (Universally Unique Identifier) — стандартный идентификатор из 128 бит. Версия 4 формируется из случайных данных и подходит для записей баз данных, файлов, сессий и тестовых объектов.
Генератор создаёт идентификаторы по RFC 4122: в нужных позициях выставляются версия 4 и вариант. Можно получить от одного до ста UUID, с дефисами или без, а также в верхнем регистре.
Как работает
Если браузер поддерживает crypto.randomUUID(), используется он. Иначе 16 случайных байтов берутся через crypto.getRandomValues, затем выставляются биты версии и варианта и добавляются дефисы в формате 8-4-4-4-12.
UUID v4 не содержит времени, MAC-адреса или данных устройства. Вероятность совпадения двух случайных UUID крайне мала, но для критичных систем всё равно стоит использовать уникальный индекс в базе.
Частые вопросы
Чем UUID v4 отличается от v1?
Версия 1 строится из времени и MAC-адреса, а версия 4 — полностью случайная. Для большинства приложений v4 проще и не раскрывает данные устройства.
Можно ли использовать UUID как пароль?
Нет. UUID создан для идентификации, а не для защиты секретов. Для паролей используйте генератор паролей с большей длиной и набором символов.
Почему идентификаторы в верхнем регистре?
Это необязательный параметр отображения. UUID не чувствителен к регистру, но в некоторых системах принято хранить его в одном формате.