Какво е NanoID?

NanoID е малък, безопасен за URL генератор на уникални ID-та за JavaScript. Той произвежда компактни случайни низове, които са статистически уникални — подобни на UUID v4, но по-кратки по подразбиране (21 символа срещу 36) и проектирани да бъдат URL-приятелски без никакво кодиране. Всеки символ е избран от внимателно балансирана азбука, така че всеки възможен ID е еднакво вероятен, което елиминира отклонението в разпределението.

NanoID използва криптографски силен генератор на случайни числа (crypto.getRandomValues в браузъри, crypto.randomFill в Node.js), което прави генерираните ID-та подходящи за контексти, чувствителни към сигурност, като session tokens и еднократни връзки. Дължината по подразбиране от 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.
  • Генериране на токени: Генерирайте кратки случайни токени за връзки за нулиране на пароли, кодове за приканване или slug-ове за препоръки, където четливостта и безопасността за URL са важни.
  • Тестване и макетни данни: Бързо произведете партида реалистично изглеждащи уникални идентификатори, за да попълните тестови приспособления или прототипни данни.

Обяснени опции

Опция Описание
Размер Брой символи във всеки генериран ID (1–64). Подразбиранието от 21 дава ~126 бита ентропия, еквивалентно на UUID v4.
Количество Колко ID-та да генерирате в една партида (1–1000).
Азбука Наборът от символи, от които да се черпи. По-големи, по-разнообразни азбуки увеличават ентропията на символ.
Персонализирана азбука Видима, когато е избрана опция Персонализирана. Въведете всички символи; дубликатите се премахват автоматично, за да се предотврати изкривено разпределение.

Как работи

NanoID избира всеки символ чрез генериране на случаен байт, маскиране му, за да се впише в размера на азбуката, и повторен опит, ако резултатът попада извън валидния диапазон — техника, наречена rejection sampling. Това гарантира перфектно плоско разпределение във всички символи на азбуката, независимо дали размерът на азбуката е степен на две. Азбуката по подразбиране (useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict) е безопасна за URL (без +, / или =) и има 64 символа, което прави всеки символ да носи точно 6 бита ентропия.