— Об этом инструменте
AES (Advanced Encryption Standard) — это симметричный шифр, который используется повсюду, от TLS до шифрования дисков: та же парольная фраза, что шифрует текст, его и расшифровывает. Этот инструмент выводит ключ AES из вашей парольной фразы с помощью PBKDF2 (100 000 итераций, SHA-256), генерирует случайные salt и IV для каждого сообщения и добавляет их в начало шифротекста, благодаря чему вывод в Base64 полностью самоописателен — вставьте его обратно с той же парольной фразой, чтобы восстановить открытый текст.
AES-GCM — это режим с аутентификацией, который обнаруживает подмену данных и является рекомендуемым по умолчанию; AES-CBC предлагается для совместимости с системами, которые его ожидают. Вся криптография выполняется локально через Web Crypto API, поэтому ваш текст и парольная фраза никогда не покидают страницу. Это удобно для обмена секретной запиской или тестирования процесса шифрования — но не замена средствам со сквозным шифрованием для особо важных секретов.
Шифрование и расшифровка выполняются полностью в вашем браузере — ничего не загружается на сервер.
Часто задаваемые вопросы
Что мне нужно, чтобы расшифровать вывод?
Шифротекст в Base64, а также точная парольная фраза, режим шифра и размер ключа, использованные при шифровании. Случайные salt и IV встроены в вывод, поэтому отслеживать их отдельно не нужно.
Что выбрать: AES-GCM или AES-CBC?
Предпочтительнее AES-GCM: он аутентифицирован, поэтому расшифровка явно завершится ошибкой, если шифротекст был изменён. Используйте AES-CBC только тогда, когда нужна совместимость с системой, которая прямо его требует.
Почему один и тот же текст каждый раз даёт разный шифротекст?
Для каждого шифрования генерируются новые случайные salt и IV, что правильно и сделано намеренно — это гарантирует, что одинаковый открытый текст не даёт одинаковый шифротекст. Расшифровка по-прежнему работает, потому что оба значения хранятся вместе с шифротекстом.