Генератор секретных ключей

Генерация секретных ключей для JWT HS256/HS512, AES-128/256, Laravel APP_KEY, Rails secret_key_base, Django SECRET_KEY и cookie сессий со стойкой случайностью.

Вывод

256 бит энтропии · 43 символов в значении

Генерируется локально через crypto.getRandomValues; ничего не отправляется и не сохраняется. Храните секреты в переменных окружения или менеджере секретов, а не в исходном коде.

Что такое Генератор секретных ключей?

Фреймворкам и библиотекам нужны случайные секретные ключи в определённом формате: 256-битная строка Base64url для JWT HS256, 32 hex-байта для AES-256, base64: + 32 байта для APP_KEY в Laravel, 128 hex-символов для secret_key_base в Rails, 50 символов для SECRET_KEY в Django. Выберите Назначение, и инструмент создаст ключ нужной длины и кодировки, либо настройте формат сами.

Как пользоваться Генератор секретных ключей

  1. Выберите Назначение, например Секрет JWT HS256 (256 бит, Base64url) или Laravel APP_KEY.
  2. При необходимости измените Формат и Случайных байтов / Длина (символов) (при этом включится вариант «Свой вариант»).
  3. Нажимайте Сгенерировать заново, пока не получите нужный ключ, затем скопируйте его в переменные окружения.

Пример

Ввод
Purpose: JWT HS256 secret (256 bits, Base64url)
Вывод
-IXerdjEBBrFmWvMzQ0izB3-w1aweuEukH9SlJBWmwE

256 бит энтропии. Значение случайное — ваш ключ будет другим.

Когда использовать Генератор секретных ключей

Используйте при настройке новой среды, замене утёкшего ключа или настройке подписи JWT. Для асимметричной подписи (RS256, ES256) нужна пара ключей, а не общий секрет. Никогда не коммитьте ключи в Git; храните их в переменных окружения или менеджере секретов.

Как работает Генератор секретных ключей

Все ключи берутся из crypto.getRandomValues. Пресеты на основе байт берут ровно столько байт, сколько нужно алгоритму (16 для AES-128, 32 для AES-256 и HS256, 64 для HS512 и Rails), и кодируют их в hex, Base64 или Base64url. Ключ Django — 50 символов, равновероятно выбранных из букв и цифр (около 298 бит). Строка энтропии показывает стойкость в битах и предупреждает, если их меньше 128.

Распространенные Случаи Использования

  • Задание APP_KEY для нового развёртывания Laravel
  • Создание секрета подписи JWT HS256
  • Генерация ключа AES-256 для шифрования данных в покое
  • Замена секретов Django или Rails после утечки

Примечание по Безопасности

Ключи создаются локально и никуда не отправляются. Любой, у кого есть ключ, может подделывать токены или расшифровывать данные, поэтому храните его только в переменных окружения или менеджере секретов.

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

Какой длины должен быть секрет JWT HS256?

Не менее 256 бит (32 байта) — размера вывода SHA-256, как рекомендует RFC 7518. Для HS512 нужно 512 бит.

Это то же, что запуск php artisan key:generate?

По формату да: команда Laravel тоже создаёт 32 случайных байта, кодирует их в Base64 и добавляет префикс base64:.

Что будет, если сменить ключ работающего приложения?

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

Другие категории