Генератор ключей API случайного типа

Создавайте ключи на сервере с помощью криптографически стойких функций PHP. Выберите hex, base64url, алфавитно-цифровой формат или UUIDv4, задайте 8–128 случайных символов и при необходимости добавьте префикс вроде sk_live_. Настройки и префикс отправляются на сервер, а созданные значения возвращаются на эту страницу.

Как создать ключ API

  1. 1

    Выберите длину результата

    Задайте от 8 до 128 случайных символов. UUIDv4 всегда содержит 36 символов, поэтому настройка длины для него отключена.

  2. 2

    Выберите формат

    Доступны hex, base64url, алфавитно-цифровые символы и UUIDv4.

  3. 3

    Добавьте префикс, если хотите

    Префикс вроде sk_test_ помогает выявить утечки ключей в журналах и при сканировании на GitHub.

  4. 4

    Сгенерировать и скопировать

    Нажмите «Повторить», пока не получите желаемую форму ключа; скопируйте её и сохраните в своём секретном менеджере.

Почему использовать CSPRNG

PHP создаёт значения на сервере с помощью random_bytes() и random_int(). Обе функции предназначены для криптографически стойкой случайности. Поэтому генерация требует запроса к сайту и не выполняется только в браузере.

Справочная таблица кодирования

Формат Символы результата Длина
Hex 0-9 a-f 8–128 символов
Алфавитно-цифровой 0-9 A-Z a-z 8–128 символов
Base64url A-Z a-z 0-9 - _ 8–128 символов
UUIDv4 Шестнадцатеричные цифры и дефисы Ровно 36 символов

Рекомендации по выбору размера

– 128 бит (16 байт) является современным базовым стандартом; он устойчив к атакам типа «день рождения» даже при использовании миллиардов сгенерированных ключей. – 256 битов (32 байта) – это обязательный параметр для ключей длительного действия или секретных данных типа «webhook». Не использовать менее 96 бит энтропии для любого токена, предназначенный для публичного использования.

Практические советы

  • Сохраняйте хешы ключей в базе данных (например, SHA-256); отображайте их только при создании и сохраняйте только сами хэши. – Префиксные ключи в зависимости от среды: sk_live_ против sk_test_. – Переместите систему, выдав новый ключ до отмены старого, чтобы избежать сбоя в работе.

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

Каждый шестнадцатеричный символ несёт 4 бита, поэтому 32 символа содержат 128 случайных битов. UUIDv4 тоже имеет длину 128 бит, но случайны лишь 122 бита, поскольку поля версии и варианта фиксированы.

Нет. Перед сохранением данные необходимо обработать хешем с использованием алгоритма SHA-256 или argon2. Когда пользователь API передаёт ключ, его данные подвергайте хэшированию и сравнивайте результаты. В случае утечки информации из базы данных злоумышленник получит только хешевые значения.

Да. Префикс ограничен 64 символами и добавляется перед случайной частью. Используйте его только для обозначения типа ключа или среды.

Сайт создаёт значения на сервере с помощью функций PHP random_bytes() и random_int(). Настройки и необязательный префикс отправляются на сервер.

Сопутствующие инструменты

Генератор SSL-сертификатов

Создайте самоподписанный сертификат SSL/TLS и закрытый ключ RSA полностью в браузере. Свои Common Name, SAN и срок действия, экспорт в PEM.

Генератор CSR

Создайте запрос на подпись сертификата в формате PEM и соответствующий закрытый ключ RSA. Укажите общее имя, поля организации и размер ключа (2048, 3072 или 4096 бит).

Кодировщик и декодировщик Base85

Кодируйте и декодируйте Base85 в варианте Adobe Ascii85, который используется в файлах PostScript и PDF. Компактнее Base64 для двоичных данных.

Генератор хешей

Создавайте хеши MD5, SHA-1, SHA-256, SHA-384, SHA-512 и CRC32 из текста, с готовым для копирования дайджестом для контрольных сумм и сравнений.

Идентификатор шифрования

Вставьте зашифрованный текст, и идентификатор предложит вероятные схемы кодирования/шифрования: Base64, hex, двоичный, Морзе, Цезарь или подстановочный, JWT и распространенные хеши.

Конвертер ETH в USD

Переводите Ethereum (ETH) в доллары США по актуальному курсу ETH/USD или по своему курсу. Узнайте, сколько стоит в долларах любое количество ETH.

Инструмент доступен на других языках