воскресенье, 20 июля 2008 г.

Шифрование всего через SSL

Шифрование отдельного файла
[править] Шифрование

Если нужно зашифровать отдельный файл (к примеру архив или документ) - можно воспользоваться утилитой openssl.

Шифрование файла file будет выглядеть так:

openssl enc -e -aes-256-cbc -k ПАРОЛЬ -in ./file -out ./file.encoded

или так:

cat ./file | openssl enc -e -aes-256-cbc -k ПАРОЛЬ > file.encoded

Параметр -k и пароль можно не указывать, тогда он будет запрошен во время выполнения команды.
[править] Дешифрование

Расшифровать обратно файл можно будет командой:

openssl enc -d -aes-256-cbc -k ПАРОЛЬ -in ./file -out ./file.encoded

(параметр -e меняется на -d) ну или соответственно:

cat ./file.encoded | openssl enc -d -aes-256-cbc -k ПАРОЛЬ > ./file

Параметр -k и пароль можно не указывать, тогда он будет запрошен во время выполнения команды.
[править] Комбинирование (Создание шифрованого архива, разбиение на тома)

Естественно команды можно комбинировать, и к примеру создание архива директории dir со сжатием gzip и шифрованием openssl aes будет выглядеть так:

tar -czf - ./dir | openssl enc -e -aes-256-cbc -k ПАРОЛЬ > archive.tar.gz.encoded

Рашифровываем (в обратном порядке):

openssl enc -d -aes-256-cbc -in ./archive.tar.gz.encoded | tar -xz


Плюс если шифрованный архив надо разбить на куски - добавляем split, все ограничивается только вашей фантазией :)

tar -czf - ./dir | openssl enc -e -aes-256-cbc -k ПАРОЛЬ | split -db 4M - arc

Склеиваем, дешифруем, разжимаем, разворачиваем:

cat arc* | openssl enc -d -aes-256-cbc | tar -xzf -

Вот это я понимаю unix-way! Не то что всякие там rar-ы! ;)