Генератор NanoID
Генерируйте безопасные, удобные для URL уникальные идентификаторы с помощью NanoID. Настраивайте размер, алфавит и количество для token'ов, ключей базы данных и коротких идентификаторов.
Ввод
Вывод
Документация
Что такое NanoID?
NanoID — это крошечный генератор уникальных идентификаторов, безопасный для URL, для JavaScript. Он создаёт компактные случайные строки, которые статистически уникальны — похожи на UUID v4, но короче по умолчанию (21 символ вместо 36) и разработаны так, чтобы быть удобными для URL без какого-либо кодирования. Каждый символ выбирается из тщательно сбалансированного алфавита, поэтому каждый возможный ID имеет одинаковую вероятность, что исключает смещение в распределении.
NanoID использует криптографически стойкий генератор случайных чисел (crypto.getRandomValues в браузерах, crypto.randomFill в Node.js), что делает сгенерированные ID пригодными для контекстов, чувствительных к безопасности, таких как токены сеанса и одноразовые ссылки. Длина по умолчанию в 21 символ даёт примерно 2,1 × 10³⁰ возможных комбинаций — сравнима с UUID v4 — а компактный формат экономит пропускную способность и место для хранения.
Описание инструмента
Этот онлайн-генератор NanoID позволяет создавать один или несколько NanoID мгновенно в вашем браузере без необходимости установки. Вы можете управлять длиной ID, количеством генерируемых ID и используемым алфавитом — от безопасного стандартного до шестнадцатеричного, буквенно-цифрового, только цифр или полностью пользовательского набора символов.
Примеры
Стандартный алфавит, размер 21:
V1StGXR8_Z5jdHi6B-myT
useandom-26T198340PX7
bfghjklqvwyzrictV1StGШестнадцатеричный алфавит, размер 16:
3f9a1c2b4e7d0f85
a0c4e8f23b6d917cТолько цифры, размер 8:
04817263
93571048Пользовательский алфавит (abc123), размер 12:
b2ca31b1ca2b
3a1c2b3c1ab2Возможности
- Регулируемая длина: установите размер ID от 1 до 64 символов (по умолчанию 21)
- Массовое создание: создавайте до 1000 ID одновременно
- Предустановки алфавита: выбирайте из стандартного, только цифры, только строчные, только прописные, буквенно-цифровой, шестнадцатеричный, прописной шестнадцатеричный, без похожих символов или полностью пользовательского набора символов
- Предустановка без похожих символов: удаляет символы, которые визуально неоднозначны (например
0,O,I,l) для удобочитаемых ID - Загрузить как файл: сохраните все сгенерированные ID в
nanoids.txtодним щелчком
Варианты использования
- Разработка приложений: используйте NanoID в качестве первичных ключей в базах данных или идентификаторов записей в API, где предпочтительна короткая строка, безопасная для URL, вместо полного UUID.
- Генерация токенов: создавайте короткие случайные токены для ссылок сброса пароля, кодов приглашения или реферальных слагов, где важны удобочитаемость и безопасность для URL.
- Тестирование и тестовые данные: быстро создавайте пакеты реалистичных уникальных идентификаторов для заполнения тестовых наборов или данных прототипа.
Объяснение параметров
| Параметр | Описание |
|---|---|
| Размер | Количество символов в каждом сгенерированном ID (1–64). Стандартное значение 21 даёт ~126 бит энтропии, что эквивалентно UUID v4. |
| Количество | Сколько ID создать в одном пакете (1–1000). |
| Алфавит | Набор символов для выбора. Более крупные и разнообразные алфавиты увеличивают энтропию на символ. |
| Пользовательский алфавит | Видно при выборе Пользовательский. Введите любые символы; дубликаты удаляются автоматически, чтобы предотвратить смещённое распределение. |
Как это работает
NanoID выбирает каждый символ, генерируя случайный байт, маскируя его в соответствии с размером алфавита и повторяя попытку, если результат выходит за допустимый диапазон — метод, называемый выборкой с отклонением. Это обеспечивает идеально равномерное распределение по всем символам алфавита независимо от того, является ли размер алфавита степенью двойки. Стандартный алфавит (useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict) безопасен для URL (без +, / или =) и содержит 64 символа, что означает, что каждый символ несёт ровно 6 бит энтропии.