Этот инструмент генерирует одноразовые высокоэнтропийные токены для конкретных сценариев веб-безопасности. В отличие от универсального генератора случайных строк, каждый сценарий автоматически применяет нужные соглашения.
Сценарии:
- CSRF-токен: непрозрачный токен, привязанный к сессии пользователя и отправляемый с запросами, меняющими состояние (формы, AJAX), чтобы доказать, что запрос пришёл с вашей страницы.
- OAuth/OIDC State: непредсказуемое значение, отправляемое на сервер авторизации и проверяемое в колбэке редиректа, привязывающее ответ к этому запросу и предотвращающее login CSRF.
- Сессионный Nonce: одноразовое случайное значение, привязанное к сессии для предотвращения повтора запроса.
- PKCE Verifier + Challenge: генерирует
code_verifier (хранится на клиенте) и выводит code_challenge = base64url(SHA256(verifier)) (отправляется на сервер авторизации) по RFC 7636, так что утёкший код авторизации нельзя обменять без verifier. PKCE принудительно использует кодировку base64url и длину verifier 32-96 байт (43-128 символов base64url).
- Своё: универсальный непрозрачный высокоэнтропийный токен для любого одноразового сценария; длина в байтах задаётся пользователем (8-128).
Параметры:
- Длина в байтах: байты энтропии. Зафиксирована на 32 (256 бит) для всех предустановленных сценариев; редактируется (8-128) только в режиме «Своё».
- Кодировка: base64url (URL-безопасная, по умолчанию для веб-токенов), hex или base64. Для PKCE принудительно base64url.
- Добавить префикс времени истечения: добавляет
base36(секИстечения).токен, чтобы сервер мог отвергать просроченные токены без сохранения состояния (паттерн OWASP).
- TTL (секунды): окно действия, используемое префиксом времени.
- Количество: генерировать 1-50 токенов за раз.
Безопасность: случайность даёт crypto.randomBytes() Node — никогда Math.random(). PKCE challenge использует SHA-256 через crypto.createHash(). Инструмент только генерирует материал токена; он не хранит и не проверяет токены на сервере.