Работает полностью в браузере — данные не покидают страницу.Шифрование
Зашифруйте или расшифруйте строку с AES-GCM/CBC, ChaCha20-Poly1305 или legacy 3DES — ключ, IV и вывод в hex или base64.
Песочница, а не протокол
Зашифруйте или расшифруйте строку шифрами, которые реально встречаются в современных системах: AES-GCM и AES-CBC с обоими размерами ключа, ChaCha20-Poly1305 и его вариант с длинным nonce, плюс 3DES-CBC для legacy-железа, которое нельзя обновить. Ключи и IV принимаются в hex или base64 либо выводятся из парольной фразы через PBKDF2.
Инструмент создан для отладки и обучения: воспроизвести то, что выдала библиотека, разобрать блоб из конфига, понять, какую комбинацию ключа, IV и режима ждёт старая система. Для AEAD-шифров тег аутентификации дописывается к шифротексту — такой формат выдаёт большинство библиотек.
Всё остаётся в браузере, включая ключи. Это же значит, что обычные предупреждения действуют без страховки сервера: повторно использованный nonce под тем же ключом GCM — катастрофа, а CBC без MAC не защищает целостность.
Какой шифр выбрать для нового кода?
AES-256-GCM или ChaCha20-Poly1305. Оба аутентифицируют при шифровании, оба стандартны в TLS 1.3, а выбор между ними — вопрос железа: с AES-NI выигрывает AES, без него — ChaCha20. Остальное в списке существует ради совместимости.
Почему расшифровка говорит «аутентификация не прошла»?
Для GCM и ChaCha20-Poly1305 это значит, что ключ, nonce или данные не в точности те, с которыми шифровали, — включая потерянный или переставленный тег. Проверьте, что тег дописан к шифротексту и что кодировка (hex или base64) совпадает.
Можно ли переиспользовать IV, если ключ меняется каждую сессию?
Правило такое: пара (ключ, nonce) никогда не повторяется. В GCM одно повторение под тем же ключом раскрывает XOR обоих открытых текстов и может раскрыть ключ аутентификации. Генерируйте свежий случайный nonce на каждое сообщение — либо берите XChaCha20 с 24-байтовым nonce, где случайная генерация всегда безопасна.
Зачем здесь 3DES, если он взломан?
Потому что платёжные терминалы, HSM и старый middleware всё ещё говорят на нём, а их отладка требует выдавать байты, которые они примут. Его 64-битные блоки падают под birthday-атакой Sweet32 на долгоживущих соединениях — используйте его для связи с тем, что нельзя поменять, и никогда в новых схемах.
Режим с парольной фразой так же стоек, как случайный ключ?
Ровно настолько, насколько стойка фраза. PBKDF2 с 600 000 итераций замедляет перебор, но слабая фраза остаётся слабым местом. Для боевых систем генерируйте случайный ключ и управляйте им как секретом; режим с фразой — для совместимости и экспериментов.
Смежные инструменты: Хеши и чексуммы, HMAC-генератор и Хеширование паролей.