Как пользоваться
- Укажите, сколько случайных байтов должен содержать каждый токен. Для секретных данных безопасным значением по умолчанию считаются 32 байта (256 бит).
- Выберите кодировку, подходящую для места использования токена, и при желании добавьте префикс, например «myapp_live_».
- Укажите, сколько токенов нужно, затем скопируйте один из них или нажмите «Скопировать все». Нажмите «Создать заново», чтобы получить новый набор.
Как это работает
Токены создаются из случайных байтов, полученных с помощью crypto.getRandomValues — встроенного в браузер и операционную систему криптографически стойкого генератора. Math.random не используется.
Для HEX, Base64 и Base64URL инструмент берет ровно выбранное вами количество байтов и кодирует их. Поэтому токен из 32 байтов всегда имеет энтропию 256 бит: 64 символа HEX, 44 символа Base64 (включая один символ = для дополнения) или 43 символа Base64URL. Base64URL заменяет + и / на - и _ и убирает дополнение, поэтому его можно использовать в URL, именах файлов и HTTP-заголовках без экранирования.
В буквенно-цифровых токенах используются только A–Z, a–z и 0–9, чтобы избежать символов, которые некоторые системы обрабатывают особым образом. На каждый символ приходится около 5,95 бита, поэтому инструмент создает столько символов, сколько нужно для достижения выбранного количества бит (43 символа для 256 бит). Символы выбираются методом отбраковки, чтобы все 62 варианта встречались с одинаковой вероятностью.
Префикс добавляется как обычный текст и не увеличивает энтропию. Префиксы вроде «sk_live_» упрощают распознавание утекших ключей и их поиск сканерами секретов. Храните секреты в менеджере паролей или хранилище секретов, а не в исходном коде.
Примеры
Секрет для подписи вебхуков
32 байта в HEX дают секрет из 64 символов с энтропией 256 бит. Его можно указать в конфигурации и отправителя, и получателя для подписей HMAC-SHA-256.
Ключ API с узнаваемым префиксом
Выберите 24 байта, формат Alphanumeric и префикс «acme_live_». Каждый ключ будет состоять из acme_live_ и 33 букв и цифр, иметь энтропию не менее 192 бит и легко распознаваться в журналах или сканере секретов.
Токен сброса, безопасный для URL
16 байтов в Base64URL дают токен из 22 символов (128 бит), который можно сразу вставить в ссылку, например /reset?token=…, без процентного кодирования.
Часто задаваемые вопросы
Сколько байтов должно быть в секрете?
128 бит (16 байтов) достаточно, чтобы перебор таких токенов, как идентификаторы сеансов, был невозможен. Для долгосрочных секретов, например ключей подписи, обычно рекомендуют 256 бит (32 байта) — столько же бит выдает SHA-256.
Какую кодировку выбрать?
Для заданного количества байтов энтропия одинакова — отличается только текстовое представление. Используйте HEX для максимальной совместимости, Base64URL для коротких токенов в URL и заголовках, а буквенно-цифровой формат — если система не принимает знаки пунктуации.
Токены сохраняются или регистрируются?
Нет. Токены создаются в этой вкладке браузера и исчезают, когда вы покидаете страницу. Они не отправляются на сервер и не передаются в аналитику.
Можно использовать эти токены как пароли?
Да, они достаточно случайны, но сайты часто требуют использовать разные типы символов. В генераторе паролей можно настроить эти правила.
Конфиденциальность
Токены создаются в браузере с помощью crypto.getRandomValues. Они не загружаются на сервер, не сохраняются, не регистрируются и не передаются в аналитику; записывается только анонимное событие об использовании инструмента.