Как мне быстро зашифровать файл с помощью AES?

К сожалению, простого решения для обеспечения безопасности ваших вещей не существует. Подумайте о своем варианте использования, возможно, лучше подойдет что-то другое, кроме простого AES.


Если вам нужно очень простое независимое от платформы шифрование, вы можете использовать openssl.

Пожалуйста, обратите внимание: Вы можете использовать это, чтобы скрыть birthday-gift-ideas.txt от вашего соседа по комнате, но не ожидайте, что он будет защищен от решительного злоумышленника!

  1. Как было указано в комментариях, этот метод использует наивную функцию получения ключа, поэтому ваш пароль должен быть превосходным, чтобы у вас был шанс быть в безопасности.
  2. Кроме того, этот метод не проверяет подлинность зашифрованного текста, что означает, что злоумышленник может изменить или повредить содержимое без вашего ведома.
  3. Для многих типов безопасности шифрования просто недостаточно (например, вы не можете просто использовать шифрование для безопасного обмена данными).

Если вы все еще хотите использовать openssl:

  • Шифрование:

    openssl aes-256-cbc -in attack-plan.txt -out message.enc

  • Расшифровка:

    openssl aes-256-cbc -d -in message.enc -out plain-text.txt

Вы можете получить openssl для base64-закодируйте сообщение с помощью -a включите как шифрование, так и дешифрование. Таким образом, вы можете вставить зашифрованный текст, например, в сообщение электронной почты. Это будет выглядеть примерно так:

stefano:~$ openssl aes-256-cbc -in attack-plan.txt -aenter aes-256-cbc encryption password:Verifying - enter aes-256-cbc encryption password:U2FsdGVkX192dXI7yHGs/4Ed+xEC3ejXFINKO6Hufnc=

Обратите внимание, что у вас есть выбор шифров и режимов работы. Для обычного использования я рекомендую aes 256 в режиме CBC. Это доступные вам режимы шифрования (только с учетом AES).:

aes-128-cbc ← this is okayaes-128-ecbaes-192-cbcaes-192-ecbaes-256-cbc ← this is recommendedaes-256-ecb

Смотрите также:

Пожалуйста, обратите внимание:

OpenSSL запросит у вас пароль. Это не ключ шифрования, он не ограничен 32 байтами! Если вы собираетесь передавать файлы с кем-то другим, ваш общий секрет должен быть очень надежным. Вы можете использовать этот сайт, чтобы получить представление о том, насколько хорош ваш пароль:

Предупреждение: Я проверил, что эти сайты не отправляют ваш пароль на сервер, но он может измениться в любое время. Используйте эти сайты с помощью dev tools / inspector и проверьте, отправляют ли они что-нибудь, прежде чем вводить свой надежный пароль.