Что такое AES-шифрование?
AES — это симметричный алгоритм шифрования: один и тот же секрет используется для шифрования и расшифрования данных. Этот инструмент полностью работает в вашем браузере и использует Web Crypto API, поэтому открытый текст, пароли и выбранные файлы не загружаются на сервер.
Режим по умолчанию — AES-GCM, потому что он шифрует и аутентифицирует результат. Аутентификация важна: если шифртекст, соль или IV позже изменятся, расшифрование должно завершиться ошибкой, а не вернуть измененные данные. AES-CBC и AES-CTR доступны для совместимости, но сами по себе они не аутентифицируют шифртекст.
Когда использовать этот инструмент
Используйте его, когда нужно защитить заметку, токен, фрагмент конфигурации или небольшой файл перед хранением или передачей через другой канал. Результат представляет собой JSON-конверт, содержащий режим, параметры получения ключа, соль, IV и шифртекст, поэтому эти параметры остаются вместе для соответствующего шага расшифрования.
При шифровании на основе пароля пароль обрабатывается с помощью PBKDF2 и случайной соли. Увеличивайте количество итераций, когда можете позволить себе более медленное шифрование и расшифрование. При шифровании необработанным ключом вставьте шестнадцатеричный ключ точно выбранной длины: 32 hex-символа для 128 бит, 48 для 192 бит или 64 для 256 бит.
Практические примечания
Храните пароль или необработанный ключ отдельно от зашифрованного JSON. Любой, у кого есть и JSON, и ключевой материал, сможет расшифровать данные. Если вы шифруете файл, скачайте результат JSON и отдельно сохраните исходное имя файла, если этот контекст важен.
Не используйте ручной IV повторно с тем же ключом. Этот инструмент генерирует новый IV и соль для каждого запуска, что является более безопасным вариантом по умолчанию. Предпочитайте AES-GCM, если другая система явно не требует AES-CBC или AES-CTR.