Генератор API-ключей
Генерация надёжных случайных API-ключей с собственным префиксом вроде sk_live_. Буквы и цифры, hex, Base64url или Base32, любая длина, энтропия в битах.
Необязательно, например sk_live_ или myapp_. Так ключи легче узнать и обнаружить при утечке в коде.
190 бит энтропии · 35 символов в значении
Генерируется локально через crypto.getRandomValues; ничего не отправляется и не сохраняется. Храните секреты в переменных окружения или менеджере секретов, а не в исходном коде.
Что такое Генератор API-ключей?
Создавайте случайные API-ключи для своих сервисов: по умолчанию 32 буквы и цифры с префиксом sk_, как у ключей многих SaaS-продуктов. Можно изменить префикс, набор символов (буквы и цифры, hex, Base64url, Base32…), длину и количество ключей. Для каждого ключа показывается энтропия, чтобы вы были уверены в его стойкости.
Как пользоваться Генератор API-ключей
- Задайте Префикс (например,
sk_live_илиmyapp_) или оставьте поле пустым. - Выберите Формат и Длина (символов) (символы или случайные байты для форматов hex/Base64).
- Задайте Количество ключей и нажмите Сгенерировать заново, чтобы получить новые.
- Скопируйте ключи и храните их на сервере в виде хешей.
Пример
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) каждого ключа и сравнивайте хеши при поступлении запроса, как с паролями, чтобы утечка базы не раскрыла рабочие ключи.