Генератор UUID
v4 — криптостойкий случайный генератор (пакетами) · v5 — по имени (одно имя даёт одно и то же значение, RFC 4122)
UUID v4(随机,可批量)
UUID v5(基于名称,确定性:同命名空间 + 同名恒同值)
RFC 4122 §4.3:v5 = SHA1(命名空间字节 + 名称字节) 的前 16 字节,置位版本 5 与变体位——同一输入永远得到同一 UUID,适合把 URL/名称等稳定映射成唯一 ID(无需存库)。
Частые вопросы
Нет. В v4 случайность берётся из CSPRNG браузера (crypto.getRandomValues), хэш v5 считается локальным JavaScript; ни одного запроса к серверу, перезагрузка стирает.
В v4 - 122 случайных бита из криптографически стойного генератора браузера (CSPRNG), для уникальных бизнес-идентификаторов годится; в криптографически щекотливых местах держи его как «ключ», а не как «тайну».
v5 строится детерминированно из «пространства имён + имени» (RFC 4122 §4.3): на тот же вход всегда один и тот же UUID. Им удобно устойчиво отображать внешние сущности - URL, имена файлов и прочее - в уникальные ID, не заводя таблицу соответствий.
v4: от 1 до 500 сразу; v5 выдаёт по одному значению (детерминированная функция: сколько раз ни генерируй с тем же именем, выйдет ровно то же значение).