Перейти к контенту
SPCX Tools

JWT-кодировщик

Мгновенно генерируйте и подписывайте JSON Web Tokens (JWT) на основе HMAC прямо в браузере.

Работает локально — файлы не покидают ваше устройство

Загрузка инструмента…

Как использовать JWT-кодировщик

  1. 1Выберите нужный алгоритм подписи HMAC (HS256, HS384 или HS512).
  2. 2Отредактируйте JSON payload. Используйте быстрые кнопки для вставки текущего времени в стандартные поля (claims), такие как iat и exp.
  3. 3Введите секретный ключ. Если ваша система использует ключ в кодировке Base64, отметьте галочку Base64.
  4. 4Подписанный токен обновляется автоматически по мере ввода. Нажмите «Копировать», чтобы получить готовый JWT.

Безопасный локальный JWT-энкодер

Этот jwt-энкодер позволяет разработчикам быстро создавать, изменять и подписывать JSON Web Tokens прямо в браузере. Разрабатываете ли вы процесс аутентификации, тестируете эндпоинт API или отлаживаете микросервис — вы можете генерировать валидные токены на лету без написания скриптов и передачи учетных данных сторонним серверам.

Поскольку инструмент использует встроенный в браузер Web Crypto API, вся обработка данных и криптографическое подписание выполняются исключительно на вашем устройстве. Ваш JSON-пейлоад и секретные ключи никуда не отправляются, не сохраняются и не логируются. Такой локальный подход позволяет безопасно подписывать JWT онлайн, даже при работе с конфиденциальными учетными данными для разработки или тестовых сред.

Как создать JWT-токен

Чтобы создать JWT-токен, нужны три компонента: заголовок (определяет алгоритм), полезная нагрузка (содержит ваши данные) и секретный ключ (защищает токен).

Начните с выбора алгоритма. Этот инструмент работает как надежный генератор JWT HS256, а также поддерживает HS384 и HS512. Это симметричные алгоритмы HMAC: один и тот же секретный ключ используется как для подписи токена, так и для его последующей проверки. Чем больше число (например, 512), тем больше размер хеша. Это повышает криптографическую надежность, но делает строку токена немного длиннее.

Затем введите полезную нагрузку в текстовое поле. Она должна быть в формате валидного JSON. При редактировании JSON или изменении секретного ключа инструмент пересчитывает подпись в реальном времени и сразу сообщает о синтаксических ошибках в структуре JSON. Как только полезная нагрузка и секретный ключ заданы, готовый токен можно скопировать и использовать в заголовках Authorization или cookie вашего приложения.

Частые сценарии генерации токенов

Надежный jwt генератор под рукой — необходимость в современной веб-разработке. Разработчики часто используют этот инструмент для различных сценариев тестирования и отладки:

Тестирование эндпоинтов API: При работе с API-клиентами, такими как Postman или Insomnia, часто требуется валидный bearer-токен для доступа к защищенным маршрутам. Вместо запуска всего фронтенда для авторизации и получения токена, вы можете вручную сгенерировать его здесь с нужным ID пользователя и ролями.

Отладка логики аутентификации: Если ваш бэкенд отклоняет токены, ручное создание токена поможет локализовать проблему. Вы можете проверить, вызвана ли ошибка неверным секретным ключом, некорректным payload или несовпадением алгоритма подписи.

Тестирование граничных случаев: Проверка того, как ваш бэкенд обрабатывает истекшие токены, отсутствующие claims или неразрешенные роли, критически важна для безопасности. Здесь вы можете легко изменять JSON payload для создания таких ситуаций и убедиться, что сервер возвращает правильные HTTP-статусы.

Управление временными метками и клеймами

В JSON Web Tokens используются специальные поля, называемые клеймами (claims), для передачи информации о жизненном цикле токена и пользователе, которого он представляет. Основные временные клеймы — это iat (время выдачи) и exp (срок действия). Для обоих полей требуется временная метка Unix (Unix timestamp) — количество секунд, прошедших с 1 января 1970 года.

Вычислять эти метки вручную при тестировании бывает утомительно. Чтобы ускорить работу, в этом инструменте над редактором полезной нагрузки (payload) предусмотрены кнопки быстрых действий.

  • Нажатие iat = now мгновенно добавляет или обновляет поле iat текущим временем Unix.
  • Нажатие exp = +1h или exp = +24h вычисляет будущую временную метку и соответствующим образом обновляет поле exp.

Это гарантирует, что сгенерированные токены будут сразу валидны и не будут преждевременно отклонены логикой проверки времени на вашем сервере.

Обработка секретов Base64

Частая проблема при подписании JWT онлайн — кодировка секретного ключа. Многие бэкенд-системы и руководства рекомендуют генерировать надежный массив случайных байтов для секрета HMAC и хранить его в переменных окружения в виде строки Base64.

Если ваш сервер декодирует эту строку Base64 в исходные байты перед подписанием или проверкой токена, вставка строки Base64 напрямую в стандартный генератор приведет к неверной подписи. Генератор обработает символы Base64 как обычный текст, из-за чего подписи не совпадут.

Чтобы решить эту проблему, просто установите флажок Секрет закодирован в Base64. Инструмент раскодирует секретную строку в исходные байты перед вычислением HMAC-хеша, гарантируя, что итоговая подпись будет полностью совпадать с вашим серверным окружением.

Структура JWT

При генерации токена результат подсвечивается разными цветами для наглядности. Стандартный JWT состоит из трех частей, разделенных точками (.):

  1. Заголовок (красный): Содержит метаданные токена, в основном алгоритм подписи (например, {"alg":"HS256","typ":"JWT"}). Генерируется автоматически на основе выбранного алгоритма и кодируется в Base64-URL.
  2. Полезная нагрузка (синий): Ваши JSON-данные, также закодированные в Base64-URL. Эту часть легко может прочитать любой, кто перехватит токен, поэтому никогда не передавайте в ней пароли или строго конфиденциальные данные.
  3. Подпись (зеленый): Криптографический хеш закодированных заголовка и полезной нагрузки, подписанный вашим секретным ключом. Она гарантирует, что токен не был изменен при передаче.

Если у вас уже есть токен и вы хотите посмотреть его содержимое без секретного ключа, вставьте его в наш декодер JWT, чтобы безопасно изучить заголовок и полезную нагрузку.

Частые вопросы

Какие алгоритмы поддерживает этот инструмент?
В настоящее время инструмент поддерживает алгоритмы на основе HMAC: HS256 (HMAC с SHA-256), HS384 и HS512. Это симметричные алгоритмы, то есть для подписи и проверки токена используется один и тот же секретный ключ.
Отправляется ли мой секретный ключ на сервер?
Нет. Вся криптографическая подпись выполняется локально в браузере с помощью Web Crypto API. Ваш JSON и секретный ключ не покидают устройство, поэтому это безопасный способ генерации токенов для тестирования.
Для чего нужен чекбокс Base64?
Во многих бэкенд-фреймворках секрет JWT хранится в виде строки в кодировке Base64, а не обычным текстом. Включение этой опции декодирует ваш ввод в необработанные байты перед применением алгоритма HMAC, гарантируя, что сгенерированная подпись точно совпадет с ожидаемой на сервере.
Как работают кнопки времени?
Кнопки iat (время создания) и exp (срок действия) вставляют стандартные метки времени Unix (количество секунд с 1 января 1970 года) в ваш JSON. Это избавляет от необходимости искать или вычислять текущее время (epoch time) вручную.
Почему мой токен недействителен при попытке проверить его на сервере?
Наиболее частые причины — несовпадение секретного ключа, неверный алгоритм или несоответствие кодировки секрета. Убедитесь, что используете ту же самую секретную строку, и проверьте, не требует ли ваш сервер декодирования секрета из Base64 перед подписью.