====== Как зашифровать архив tar ======
Маленькая памятка, как зашифровать архив tar.\\
Иногда нужно файл или архив для заказчика зашифровать.\\
Сперва посмотрим какие шифры доступны
$ openssl enc -list
Я выбрал шифр aes-256-cbc
$ tar czvf test.tar.gz test | openssl enc -aes-256-ctr -pbkdf2 -a -in test.tar.gz -out test.tar.gz.aes256
enter aes-256-ctr encryption password:
Verifying - enter aes-256-ctr encryption password:
Появится шифрованный архив test.tar.gz.aes256.\\
openssl рекомендует использовать при шифровании iter или pbkdf2.\\
Вариант с использованием iter.\\
**-iter** число, при указании большего числа шифрование проходит не быстро, зависит от процессора вашего.\\
У меня заняло, окало 25 секунд.\\
Указанное число итераций для пароля при получении ключа шифрования.\\
Так же опция включает алгоритм pbkdf2 для получения ключа.
$ tar czvf test.tar.gz test | openssl enc -aes-256-ctr -a -in test.tar.gz -out test.tar.gz.aes -iter 80000000
enter aes-256-ctr encryption password:
Verifying - enter aes-256-ctr encryption password:
Расшифровка
$ openssl enc -aes-256-ctr -pbkdf2 -d -a -in test.tar.gz.aes -out test.tar.gz
enter aes-256-ctr decryption password:
Пример с использованием iter.
$ openssl enc -aes-256-ctr -d -a -in test.tar.gz.aes -out test.tar.gz -iter 80000000
enter aes-256-ctr decryption password:
----
Пример как зашифровать директорию, для шифрования файлы почти также (zip —encrypt my_arc.zip test.txt).
$ zip --encrypt -r my_arc.zip test/
Enter password:
Verify password:
adding: test/ (stored 0%)
adding: test/serv.png (deflated 6%)
adding: test/hosts (deflated 59%)
adding: test/10000вСюр1919.jpg (deflated 0%)
adding: test/Рябченко/ (stored 0%)
adding: test/Рябченко/Рябченко. Боны России.pdf (deflated 1%)
adding: test/check_domain.sh (deflated 94%)
Дешифровка.\\
Так как zip по умолчанию при создании архивов использует кодировку IBM437, будут проблемы с отображением кириллиц.
$ unzip secure.zip
Archive: secure.zip
creating: test/
[secure.zip] test/serv.png password:
inflating: test/serv.png
inflating: test/hosts
inflating: test/10000????????1919.jpg
creating: test/????????????????/
inflating: test/????????????????/????????????????. ???????? ????????????.pdf
inflating: test/check_domain.sh
Или
$ bsdtar --option hdrcharset=cp866 -xf my_arc.zip
Enter passphrase:
Вот как бы и вся инструкция как зашифровать архив tar.