Генератор ключей ChaCha20
Создайте криптографически стойкий ключ шифрования ChaCha20 — фиксированный 256-битный ключ, опционально с 96-битным nonce, в формате hex или Base64. Полностью генерируется в вашем браузере и никогда не передается.
Ввод
ChaCha20 (RFC 8439, вариант IETF) требует уникального 96-битного nonce вместе с ключом для каждого шифрования.
Вывод
Храните этот ключ в тайне — сохраняйте в менеджер секретов, а не в код или чат.
Используйте свежий, уникальный nonce для каждого сообщения, зашифрованного этим ключом — никогда не переиспользуйте nonce.
Другие способы использовать этот инструмент
REST API
curl -X POST https://api.iotools.cloud/v1/tool/chacha20-key-generator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"outputFormat": "hex",
"includeNonce": "true"
}'Подставьте свой собственный ключ из аккаунта. Поля инструмента — это тело запроса, без обёртки.
Спросите у ИИ-агента
Use the IOTools `chacha20-key-generator` tool (ChaCha20 Key Generator) on this input:
YOUR_INPUT_HEREВставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.
Виджет для встраивания
<iframe
src="https://iotools.cloud/embed/chacha20-key-generator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Генератор ключей ChaCha20 — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.
| Стоимость вызова API/MCP | От 5 кредитов |
|---|
Также доступно через
Руководства
Что делает этот инструмент?
Он генерирует криптографически стойкий ключ шифрования ChaCha20 — всегда 256 бит, согласно RFC 8439 — и, опционально, соответствующий 96-битный nonce. Оба форматируются как hex или Base64, готовые к вставке в файл конфигурации, переменную окружения или вызов криптографической библиотеки.
Что такое ChaCha20?
ChaCha20 — это симметричный поточный шифр, разработанный Даниэлем Дж. Бернштейном как более быстрая и простая альтернатива AES на оборудовании без выделенного ускорения AES (мобильные процессоры, множество встроенных устройств). Обычно используется вместе с аутентификатором сообщений Poly1305 как ChaCha20-Poly1305, конструкция AEAD (аутентифицированное шифрование), стандартизированная в RFC 8439. Это поддерживаемый или стандартный набор шифров в TLS 1.3, используется протоколом VPN WireGuard и является предпочтительным шифром Google для мобильных подключений TLS.
В отличие от AES, который предлагает размеры ключей 128/192/256 бит, ChaCha20 имеет ровно один размер ключа: 256 бит (32 байта). Нет более мелких вариантов ключа на выбор, поэтому этот инструмент не имеет селектора размера ключа — генерируемый ключ всегда правильного размера.
Ключ против nonce
Ключ ChaCha20 сам по себе недостаточен для шифрования чего-либо — шифр также требует nonce ("число, использованное один раз"): значение, которое никогда не должно повторяться для данного ключа. Вариант IETF, стандартизированный в RFC 8439, фиксирует nonce на 96 битах (12 байтах) (в паре с 32-битным внутренним счетчиком блоков для 128-битного внутреннего состояния). Повторное использование nonce с тем же ключом нарушает гарантии безопасности ChaCha20 — злоумышленник, видящий две сообщения, зашифрованные с одной и той же парой ключ/nonce, может восстановить информацию о обоих открытых текстах. По этой причине большинство реальных приложений генерируют новый случайный nonce (или используют счетчик) для каждого сообщения и никогда не сохраняют nonce для повторного использования.
Этот инструмент может генерировать nonce вместе с ключом для удобства, но обратите внимание, что один выходной nonce не предназначен для использования в более чем одном шифровании — генерируйте новый nonce для каждого сообщения в вашем реальном приложении.
Как использовать
- Выберите формат вывода — hex (прописные) или Base64, в зависимости от того, что ожидает ваша библиотека или формат конфигурации.
- Оставьте "Также сгенерировать nonce" отмеченным, если вы хотите соответствующий 96-битный nonce вместе с ключом, или снимите отметку для вывода только ключа.
- Нажмите Сгенерировать ключ.
- Скопируйте ключ (и nonce, если он был сгенерирован) с помощью кнопок копирования.
Нажимайте "Сгенерировать" снова в любое время, когда вам нужен свежий ключ или nonce — каждое нажатие получает новые случайные байты из криптографически безопасного генератора случайных чисел браузера, crypto.getRandomValues(), а не Math.random(), который быстр, но предсказуем и неподходящ для чего-либо, связанного с безопасностью.
FAQ
Почему нет опции размера ключа, в отличие от AES? ChaCha20 определяется с единственным размером ключа в 256 бит — нет вариантов на 128 или 192 бита на выбор, поэтому селектор размера был бы выпадающим списком с одним реальным выбором.
Могу ли я повторно использовать сгенерированный nonce для нескольких сообщений? Нет — шифрование двух разных сообщений с одним и тем же ключом и nonce — серьезный сбой безопасности для ChaCha20 (и любого поточного шифра). Генерируйте (или выводите) свежий nonce для каждой операции шифрования.
Какой формат использовать, hex или Base64? Оба — это полнофункциональное кодирование одних и тех же байтов. Hex проще читать и отлаживать; Base64 примерно на 25% короче, что предпочитают некоторые форматы конфигурации или ограничения размера переменных окружения.
Достаточно ли этот ключ безопасен для продакшена? Да — базовый источник случайности — это тот же CSPRNG, который используют ваша операционная система и браузер для TLS и других критических операций безопасности. Безопасность вашей системы все еще зависит от сохранения ключа в секрете, генерирования свежего nonce для каждого сообщения и надлежащей ротации ключей.
Приватность
Ключ и nonce генерируются полностью в вашем браузере с использованием Web Crypto API. Они никогда не отправляются на наши серверы, не логируются и не хранятся где-либо — закрытие или перезагрузка страницы удалит их навсегда, поэтому сохраните их в безопасном месте перед тем, как уйти.