Я пытаюсь защитить паролем zip-файлы, которые я создаю в сценарии python, но не смог выяснить, почему при попытке разархивировать он не принимает пароль, созданный сценарием.
#!/usr/bin/env python2.6
import subprocess, random, os
file = "test.csv"
s = "abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()?"
zipPass = "".join(random.sample(s,12))
print zipPass
devnull = open(os.devnull, 'w')
rc = subprocess.call("zip -P "+str(zipPass)+" "+str(file)+".zip "+str(file), shell=True, stdout=devnull, stderr=devnull)
Когда я запускаю скрипт и пытаюсь разархивировать, я получаю следующее:
user@server:/tmp/zip> zip.py
xxxxxxxxx
user@server:/tmp/zip> unzip test.csv.zip
Archive: test.csv.zip
[test.csv.zip] test.csv password:
password incorrect--reenter:
Я попытался скопировать / вставить пароль, а также ввести вручную, чтобы быть уверенным.
Есть идеи?