Генератор API-ключей

Генерация надёжных случайных API-ключей с собственным префиксом вроде sk_live_. Буквы и цифры, hex, Base64url или Base32, любая длина, энтропия в битах.

Необязательно, например sk_live_ или myapp_. Так ключи легче узнать и обнаружить при утечке в коде.

Вывод

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

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

Что такое Генератор API-ключей?

Создавайте случайные API-ключи для своих сервисов: по умолчанию 32 буквы и цифры с префиксом sk_, как у ключей многих SaaS-продуктов. Можно изменить префикс, набор символов (буквы и цифры, hex, Base64url, Base32…), длину и количество ключей. Для каждого ключа показывается энтропия, чтобы вы были уверены в его стойкости.

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

  1. Задайте Префикс (например, sk_live_ или myapp_) или оставьте поле пустым.
  2. Выберите Формат и Длина (символов) (символы или случайные байты для форматов hex/Base64).
  3. Задайте Количество ключей и нажмите Сгенерировать заново, чтобы получить новые.
  4. Скопируйте ключи и храните их на сервере в виде хешей.

Пример

Ввод
Prefix sk_, Letters and digits, Length 32
Вывод
sk_7M1R2Vhc2z6q19CVQAGIOp87bJXcY0wA

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

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

Используйте, когда строите API и вам нужно выдавать клиентам ключи, или когда сервис просит вас задать собственный общий ключ. Стремитесь как минимум к 128 битам энтропии. Не создавайте так пароли, которые люди должны вводить вручную, и не храните сгенерированные ключи в базе данных открытым текстом.

Как работает Генератор API-ключей

Случайность берётся из crypto.getRandomValues. В символьных форматах каждый символ выбирается равновероятно из алфавита выборкой с отбрасыванием, поэтому энтропия равна длина × log2(размер алфавита) — 32 буквы и цифры дают 32 × 5,95 ≈ 190 бит. В байтовых форматах инструмент берёт N случайных байт и кодирует их (hex, Base64, Base64url или Base32 по RFC 4648), получая 8 × N бит. Префикс добавляется спереди и энтропии не прибавляет.

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

  • Выдача API-ключей клиентам SaaS-продукта
  • Создание ключей для внутренних вызовов между сервисами
  • Генерация секретов для подписи вебхуков
  • Создание тестовых ключей для стейджинга

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

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

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

Какой длины должен быть API-ключ?

Не менее 128 бит энтропии: 22 и более букв и цифр или 16 и более случайных байт. Значение по умолчанию — 32 буквы и цифры — даёт около 190 бит.

Зачем добавлять префикс?

Префиксы вроде sk_live_ показывают, для чего ключ, помогают не путать тестовые и боевые ключи и позволяют сканерам секретов (например, GitHub secret scanning) находить утёкшие ключи.

Как хранить API-ключи на сервере?

Храните только хеш (например, SHA-256) каждого ключа и сравнивайте хеши при поступлении запроса, как с паролями, чтобы утечка базы не раскрыла рабочие ключи.

Что сделать дальше

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