Python распакует AES-128 зашифрованный файл

Есть ли способ распаковать файл зашифрованного файла AES-128 напрямую с помощью python, поскольку ZipFile вызывает ошибку Bad Password. Если я использую 7zip, он работает, поэтому пароль правильный, но опять же 7zip необходимо установить как зависимость.

Что я пробовал:

from ZipFile import ZipFile zip = ZipFile('test.zip') zip.extractall(pwd='password') 

Это порождает исключение Bad Password.

Проверка файла с помощью 7zip

 7z l -slt test.zip 

Это возвращает:

 Encrypted = + Method = pkAES-128 Deflate 

One Solution collect form web for “Python распакует AES-128 зашифрованный файл”

Модуль zipfile из стандартной библиотеки Python поддерживает только зашифрованные ZIP-файлы с CRC32 (см. Здесь: http://hg.python.org/cpython/file/71adf21421d9/Lib/zipfile.py#l420 ). Таким образом, нет никакой зависимости от какой-либо третьей зависимости.

Самый простой способ – просто установить 7zip и вызвать утилиту 7z командной строки, используя модуль subprocess из стандартного lib:

 import subprocess subprocess.call(["7z", "x", "-ppassword", "test.zip"]) 

Другим вариантом может быть модуль python «PyLzma», который также может обрабатывать зашифрованные архивы 7zip AES: https://github.com/fancycode/pylzma . Он не поддерживает дешифрование классических zip-файлов, но вы можете использовать его подпрограммы для написания собственной функции декомпрессора.

  • Python с расширением ZIP64 при сжатии больших файлов
  • Невозможно разархивировать большой zip-файл (3,3 ГБ) в iOS9 с помощью SSZipArchive
  • Модуль zipfile python, похоже, не сжимает мои файлы
  • Смутно о создании CSV-файла в ZIP-файл в django
  • Добавление файла в существующий zip-файл
  • Как создать zip-архив каталога
  • Как удалить или заменить файл в zip-архиве?
  • загрузить файл pickle из zipfile
  • Создайте zip-файл непосредственно из массива numpy без файла-посредника
  • Найти и заменить текст в файле .docx - Python
  • ZipFile.testzip () возвращает разные результаты на Python 2 и Python 3
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.