2017-07-14 3 views
-2

Donc j'essaye de crypter un répertoire en utilisant python et je ne suis pas sûr de la meilleure façon de le faire. Je peux facilement transformer le dossier en un fichier zip, mais à partir de là j'ai essayé de le chiffrer avec AES, mais je n'ai pas réussi à le faire fonctionner et j'ai également essayé de crypter en utilisant 7zip pour archiver le dossier, mais aussi ne pourrait pas obtenir que cela fonctionne, donc si quelqu'un a une autre solution pour crypter un répertoire ou pourrait me diriger dans la bonne direction sur la façon d'utiliser l'une des méthodes précédentes qui seraient utiles. (Je suis sur Windows si cela a une signification)Chiffrer le dossier ou le fichier zip en utilisant python

+0

Copie possible de [Chiffrer et déchiffrer à l'aide de PyCrypto AES 256] (https://stackoverflow.com/questions/12524994/encrypt-decrypt-using-pycrypto-aes-256) – Jedi

+0

[Quels sujets puis-je poser à propos ici] (https://stackoverflow.com/help/on-topic). –

Répondre

0

Je recommande toujours 7-zip.

disons que vous voulez nommer le dossier zip comme myzip.zip

Import subprocess 

zp = subprocess.call(['7z', 'a', 'your password', '-y', 'myzip.zip'] + ['your file']) 

Une autre façon:

Import pyminzip 
level=4 #level of compression 
pyminizip.compress("your file", "myzip.zip", "your password", level) 
+1

Veuillez ne pas répondre aux questions hors-sujet. –

0

Utiliser 7-Zip à travers le fonctionnement du module de sous-processus. Voici quelques questions que j'ai rencontrés et ont dû résoudre: Vous devez spécifier le chemin d'accès 7zip séparé de la variable cmd dans le sous-processus Popen et construire la commande avec des variables plutôt que d'une chaîne solide:

appPath="C:\Program Files\\7-Zip" 
zApp="7z.exe" 
zAction='a' 
zPass='-pPASSWORD' 
zAnswer='-y' 
zDir=directoryToZip 
progDir=os.path.join(appPath,zApp) 

cmd = [zApp, zAction, zipFileName, zPass, zAnswer, zDir] 
subprocess.Popen(cmd, executable=progDir, stderr=subprocess.STDOUT, stdout=subprocess.PIPE) 

Ce va créer un fichier zip (à l'emplacement avec le nom dans la variable zipFileName), y compris le contenu (répertoires et fichiers) dans le chemin "directoryToZip"

progDir doit être spécifié pour séparer de l'application que vous appelez une partie de la commande Open (c'est le chemin exécutable), et la chaîne de commande a dû être construite en tant que variables pour faire face à l'installation d'échappement de backslash de Windows.

+0

Cela ne répond pas vraiment à la question. Si vous avez une autre question, vous pouvez la poser en cliquant sur [Poser une question] (https://stackoverflow.com/questions/ask). Vous pouvez également [ajouter une prime] (https://stackoverflow.com/help/privileges/set-bounties) pour attirer plus d'attention à cette question une fois que vous avez assez de [réputation] (https://stackoverflow.com/help/ quoi-réputation). - [De l'examen] (/ review/low-quality-posts/17786884) – desertnaut

+0

J'ai mis à jour cela avec une réponse. J'espère que c'est maintenant acceptable –