JWT Encoder / Builder

РазработчикБезопасность
Реклама · УДАЛИТЬ?
Поле alg переопределяется выбором алгоритма ниже.
Ключ подписи, используемый для HMAC. Никогда не делайте публичным реальные секреты в производственной среде.

Части токена (base64url)

Реклама · УДАЛИТЬ?

Гид

Кодировщик JWT / Конструктор

JWT Encoder / Builder

Создавайте подписанные JSON Web Tokens прямо в браузере. Вставьте заголовок и тело, выберите алгоритм HMAC, укажите общий секрет и скопируйте готовый токен для тестирования API, отладки или локального развертывания. Все подписание происходит с помощью Web API SubtleCrypto, поэтому ваш секрет и утверждения никогда не покидают страницу.

Как использовать

  1. Редактируйте Заголовок (JSON) блок, чтобы включить typ и любые дополнительные поля, такие как kid. Значение alg переопределяется выбором алгоритма ниже.
  2. Редактируйте Тело (JSON) блок с стандартными утверждениями, такими как iss, sub, iat, exp, плюс любыми дополнительными утверждениями, которые требует ваш сервис.
  3. Выберите алгоритм: HS256, HS384, или HS512.
  4. Вставьте ваш общий секрет. Используйте случайную строку длиной не менее, чем длина выхода хеша, чтобы соответствовать уровню безопасности каждого алгоритма.
  5. Скопируйте полученный токен из области вывода или скопируйте заголовок, тело или часть подписи отдельно.

Возможности

  • Три алгоритма HMAC – HS256, HS384 и HS512 охватывают все распространённые случаи использования JWT с HMAC-подписью.
  • Реальное подписание – Подписанный токен пересоздаётся при каждом изменении поля, поэтому вы сразу видите эффект каждого изменения.
  • Валидация JSON в режиме ввода – Некорректный заголовок или тело JSON показывает ясное сообщение об ошибке до того, как он станет частью повреждённого токена.
  • Скопирование по частям – Скопируйте полный токен или получите base64url-кодированный заголовок, тело или подпись отдельно.
  • Только на стороне клиента – Подписание выполняется в браузере с использованием SubtleCrypto. Секреты и утверждения никогда не отправляются на сервер.
  • Комбинируется с JWT Decode – Проверка токенов в цикле между кодировщиком и существующим инструментом JWT Decode для верификации утверждений.

Когда использовать этот инструмент

  • Тестирование конечной точки API, ожидающей токен с определёнными утверждениями.
  • Повторение сценария неудачной аутентификации с известным корректным токеном.
  • Обучение или изучение того, как создаются подписи JWT.
  • Генерация временных токенов для локального развертывания без запуска сервера аутентификации.

Часто задаваемые вопросы

  1. Что такое JWT и почему он подписывается?

    JSON Web Token (JWT) — это компактная URL-безопаская строка, состоящая из заголовка, тела и подписи. Подпись позволяет получателю убедиться, что заголовок и тело были созданы с использованием общего секрета и не были изменены в процессе передачи. Без действительной подписи любой может подделать утверждения, поэтому каждый токен, предназначенный для аутентификации или авторизации, должен быть подписан.

  2. Как работает HMAC-подписание с HS256, HS384 и HS512?

    HMAC (Hash-based Message Authentication Code) объединяет секретный ключ с криптографической функцией хеширования. HS256 использует SHA-256 для создания MAC длиной 256 бит, HS384 использует SHA-384, а HS512 использует SHA-512. Подписыватель вычисляет HMAC над base64url-кодированным заголовком и телом, соединёнными точкой, затем добавляет base64url-кодированную MAC. Любой, у кого есть такой же секрет, может пересчитать MAC и сравнить его для проверки подлинности.

  3. Почему JWT используют base64url вместо стандартного base64?

    Стандартный base64 использует символы +, / и =, которые должны быть закодированы в процентах в URL и могут вызывать проблемы при передаче токенов как параметров запроса или в HTTP-заголовках. Base64url заменяет + на -, / на _, и удаляет завершающую позицию =. Это создаёт строку, безопасную для использования в URL, HTTP-заголовках и куках без дополнительной кодировки.

  4. Что делает секрет достаточно сильным для HMAC-подписанных JWT?

    Для HS256 секрет должен быть не менее 32 случайных байт (256 бит); для HS384 — не менее 48 байт; для HS512 — не менее 64 байт. Короткие, вручную выбранные пароли уязвимы к атакам перебором, поскольку атакующий, который захватил один токен, может попытаться угадать секреты в режиме офлайн. Генерируйте секреты из криптографически случайного источника, храните их вне вашего исходного кода и вращайте их при подозрении на утечку.

Хотите убрать рекламу? Откажитесь от рекламы сегодня

Установите наши расширения

Добавьте инструменты ввода-вывода в свой любимый браузер для мгновенного доступа и более быстрого поиска

в Расширение Chrome в Расширение края в Расширение Firefox в Расширение Opera

Табло результатов прибыло!

Табло результатов — это интересный способ следить за вашими играми, все данные хранятся в вашем браузере. Скоро появятся новые функции!

Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?

новости с техническими моментами

Примите участие

Помогите нам продолжать предоставлять ценные бесплатные инструменты

Купи мне кофе
Реклама · УДАЛИТЬ?