Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Библиотека для архивирования с шифрованием


Автор: tishaishii 10.11.2015, 16:54
Нашёл в документации библиотеку zipfile, там есть метод setpassword, после применения которого ничего не происходит.

Хочется найти библиотеку, чтобы можно было установить пароль на файл с архивом и использовался популярный алгоритм архивирования.

Автор: Garmahis 10.11.2015, 18:55
В описании модуля написано:
It supports decryption of encrypted files in ZIP archives, but it currently cannot create an encrypted file.
Так что надо пользоваться сторонними библиотеками например chilkat или как советуют на стаке прямым запросом к архиватору:
Код

rc = subprocess.call(['7z', 'a', '-pP4$$W0rd', '-y', 'myarchive.zip'] + 
                     ['first_file.txt', 'second.file'])

Автор: tishaishii 11.11.2015, 01:12
Спасибо за ответ!

Командной строкой я пользоваться умею.
Чтобы не пришлось вместе со своей программкой дополнительно устанавливать 7z, что к Python отношения не имеет, и вообще следить за зависимостями, так как это прекрасно выполняет менеджер пакетов.
В Linux, конечно, менеджер пакетов прекрасный, но везде свой. А что, если программа запускается на MacOSX или Windows. И начинается целая эпопея.

В общем, ищу именно готовую библиотеку, чтобы была кроссплатформенной и ставилась с учётом зависимостей.

Автор: Garmahis 11.11.2015, 09:30
Тогда вот: https://github.com/smihica/pyminizip

Автор: tishaishii 12.11.2015, 16:19
Супер!

Правда, я уже почти переделал всё под шифрование отдельных полей в SQLite3.
Но на прямой вопрос получил отличный ответ.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)