Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
kit-jwt — Кодирование и декодирование JSON Web Token (JWT) для Kit | Kitploit
Инструменты/GitLabGitLab/kit-lang/packages/kit-jwt
Инструменты шифрования/дешифрованияКриптографияАутентификация
GitLabkit-lang/packages/kit-jwt

kit-jwt

Кодирование и декодирование JSON Web Token (JWT) для Kit

Репозиторий
1 месяц назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

kit-jwt

Кодирование и декодирование JSON Web Token (JWT) для Kit


[TOC]


Файлы

ФайлОписание
.editorconfigКонфигурация форматирования редактора
.gitignoreПравила игнорирования Git для артефактов сборки и зависимостей
.tool-versionsВерсии инструментов asdf (Zig, Kit)
LICENSEФайл лицензии MIT
README.mdЭтот файл
examples/basic.kitПример базового использования HS256
kit.tomlМанифест пакета с метаданными, возможностями и зависимостями
src/jwt.kitAPI кодирования, декодирования, верификации и вспомогательные функции JWT
zig/jwt_rsa.zigМост для подписи и верификации RSA на базе OpenSSL
zig/kit_ffi.zigВспомогательные функции FFI Kit Zig, используемые мостом RSA
tests/hs256.test.kitАктивные тесты поведения HS256
tests/types.test.kit

Зависимости

  • Зависимость пакета Kit: crypto
  • Стандартный модуль Kit: Encoding.Base64
  • Нативная библиотека: OpenSSL libcrypto для вспомогательных функций RS256, RS384 и RS512
  • Требуемая возможность: ffi

Пакет объявлен как ffi-zig, поскольку подпись и верификация RSA используют zig/jwt_rsa.zig. HS256 использует crypto.hmac-sha256.

Установка

root@kitploit:~
kit add gitlab.com/kit-lang/packages/kit-jwt.git

Использование

root@kitploit:~
import Kit.Jwt as JWT

main = fn =>
  secret = "my-super-secret-key-at-least-32-chars"
  claims = "{\"sub\":\"user123\",\"name\":\"John Doe\",\"admin\":true,\"iat\":1700000000}"

  match JWT.encode claims secret
    | Err e ->
      println "Failed to create token:"
      println e
    | Ok token ->
      println "JWT:"
      println token

      if JWT.verify? token secret then
        println "Token is valid"
      else
        println "Token is invalid"

      match JWT.decode token secret
        | Ok decoded ->
          println "Header:"
          println decoded.header
          println "Payload:"
          println decoded.payload
        | Err e ->
          println "Decode failed:"
          println e

main

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

Вспомогательные функции небезопасного просмотра также доступны для отладки токенов без верификации подписей:

  • decode-unsafe
  • get-claims-unsafe
  • get-header-unsafe

Не используйте небезопасные вспомогательные функции для принятия решений об авторизации.

Разработка

Запуск примеров

Запустите базовый пример с помощью интерпретатора:

root@kitploit:~
kit run examples/basic.kit --allow=ffi

Скомпилируйте пример в нативный двоичный файл:

root@kitploit:~
kit build examples/basic.kit --allow=ffi && ./basic

Запуск тестов

Запустите активный набор тестов:

root@kitploit:~
kit test --allow=ffi

Запустите активный набор тестов с покрытием:

root@kitploit:~
kit test --coverage --allow=ffi

Запустите опциональные файлы тестов RSA напрямую:

root@kitploit:~
kit test tests/rs256.kit.disabled --allow=ffi
kit test tests/rs384.kit.disabled --allow=ffi
kit test tests/rs512.kit.disabled --allow=ffi

Запуск kit dev

Запустите стандартный рабочий процесс разработки (форматирование, проверка, тестирование):

root@kitploit:~
kit dev

Это выполнит:

  1. Проверка форматирования исходных файлов Kit и примеров
  2. Проверка типов исходников и примеров
  3. Запуск активных тестов с покрытием

Запуск проверок паритета

Запустите проверки паритета интерпретатора/компилятора для примеров:

root@kitploit:~
kit parity --failures-only

Проверки паритета удостоверяются, что примеры выполняются через интерпретатор, успешно компилируются, успешно выполняются и выдают совпадающий вывод.

Генерация документации

Сгенерируйте документацию API из комментариев кода:

root@kitploit:~
kit doc src/jwt.kit

Примечание: Исходники Kit с комментариями документирования (##) генерируют HTML-документацию.

Очистка артефактов сборки

Удалите сгенерированные файлы, кеши и артефакты сборки:

root@kitploit:~
kit task clean

Примечание: Определено в kit.toml.

Локальная установка

Чтобы установить этот пакет локально для разработки:

root@kitploit:~
kit install

Это устанавливает пакет в ~/.kit/packages/@kit/jwt/, делая его доступным для импорта как Kit.Jwt в других проектах.

Замечания по безопасности

  • Используйте стойкие случайные секреты HS256. Рекомендуется минимум 256 бит.
  • Никогда не сохраняйте в репозитории приватные ключи или секреты JWT для продакшена.
  • После декодирования проверяйте утверждения приложения, такие как exp, nbf, iat, iss и aud.
  • Предпочитайте короткоживущие токены и регулярно меняйте ключи в соответствии с моделью угроз вашего приложения.
  • Используйте HTTPS при передаче JWT по сети.

Лицензия

Этот пакет выпущен под лицензией MIT — см. LICENSE для подробностей.

Скачать инструмент
Тесты ошибок, типов, алгоритмов и формы утверждений
tests/rs256.kit.disabledОпциональные тесты поведения RS256
tests/rs384.kit.disabledОпциональные тесты поведения RS384
tests/rs512.kit.disabledОпциональные тесты поведения RS512
АлгоритмВспомогательные функции
HS256encode, encode-with-header, decode, verify?
RS256encode-rs256, decode-rs256, verify-rs256?, get-claims-rs256
RS384encode-rs384, decode-rs384, verify-rs384?, get-claims-rs384
RS512encode-rs512, decode-rs512, verify-rs512?, get-claims-rs512