Теория
Nano ID — компактный генератор случайных идентификаторов: строка из набора символов заданной длины. Стандартный алфавит — латиница, цифры, подчёркивание и дефис, длина по умолчанию 21 символ. Идентификатор короче UUID и удобнее в URL.
Символы выбираются криптографически случайно, поэтому коллизии практически исключены: при длине 21 и алфавите из 64 символов вариантов \(64^{21}\). Для разных задач алфавит сужают — только цифры или без похожих символов.
Важно: короче идентификатор — больше шанс совпадения; для больших наборов данных длину не уменьшают.
Пример с решением
- Условие. Сгенерируйте Nano ID длиной 12.
- Формула. 12 случайных выборов из алфавита \(A–Z\), \(a–z\), \(0–9\), \(_\), \(-\).
- Подстановка. Каждый символ выбирается независимо и равновероятно.
- Вычисление. Вариантов \(64^{12} \approx 4{,}7 \times 10^{21}\).
- Ответ. Строка вида «V1StGXR8_Z5jd». Калькулятор с длиной 12 сгенерирует идентификатор; режимы алфавитов меняют набор символов.
Главное
- Случайная строка из настраиваемого алфавита.
- Короче UUID, удобен в URL.
- Коллизии практически исключены.