Как зашифровать архив tar

Дата | 08.02.2021

Как зашифровать архив 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.

FreeBSD архиваторы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *