¿Cuál es el código de Python para crear un archivo zip encriptado con contraseña? Estoy bien con el uso de algunas utilidades apt-get'able usando el sistema en la línea de comando.Código de Python para crear un archivo zip encriptado con contraseña?
Respuesta
La extracción es muy fácil, solo se usa zipfile.ZipFile.setpassword() que se introdujo en python 2.6, sin embargo, la biblioteca de python estándar carece de soporte para crear archivos zip encriptados.
Hay bibliotecas disponibles comercialmente para Python que admiten la creación de archivos zip cifrados y protegidos por contraseña. Si desea utilizar algo libremente disponible, debe utilizar la utilidad de línea de comandos estándar zip
.
postal -e -Pcontraseña filename.zip FILEB archivoA ...
En realidad setpassword ("sucontraseña") solo es válido para extraer, no para crear un archivo zip.
La solución (no a mi gusto):
Para crear archivo zip encriptado (llamado 'myarchive.zip'
) utilizando código abierto 7-Zip
utilidad:
rc = subprocess.call(['7z', 'a', '-pP4$$W0rd', '-y', 'myarchive.zip'] +
['first_file.txt', 'second.file'])
Para instalar 7-Zip , tipo:
$ sudo apt-get install p7zip-full
para descomprimir con la mano (para demostrar la compatibilidad con utitity postal), Tipo:
$ unzip myarchive.zip
y entrar P4$$W0rd
en el indicador.
o el mismo en Python 2.6+:
>>> zipfile.ZipFile('myarchive.zip').extractall(pwd='P4$$W0rd')
+1 7-Zip también está disponible en Windows. Es compatible con muchos formatos de compresión/archivo, no solo zip. –
zipfile.ZipFile no crea un archivo zip encriptado. Solo puede leer archivos zip encriptados. Pyminizip hace esto como se indica en el enlace. – shadowbq
@shado WBQ: sí. 'ZipFile' puede * extraer * (* descomprimir *) el archivo encriptado. Si pudiera crear los archivos encriptados; no necesitarías la utilidad '7z'. 'pyminizip' no existía en 2010. No sé qué tan conveniente (para instalar) o confiable (en comparación con' 7z') 'pyminizip' es - su estado de desarrollo es * alpha *. – jfs
Usted puede utilizar Pygpgme para crear un archivo gpg protegido por contraseña, que se comprime.
Tendrá que utilizar el equivalente de gpg -c myFile o gpg --symmetric myFile y gpg myFile.gpg
No sé lo que los equivalentes están en ese módulo Python , pero sé que han existido desde la versión 0.2. Hubo un informe de error antes de mencionar la falta, pero alguien lanzó un parche y lo arreglaron en la versión 0.2.
Esto utiliza encriptación simétrica para que no tenga que preocuparse por las claves.
Puede encontrar mi publicación preguntando cómo usarla en UbuntuForums. Siéntase libre de responderlo si lo sabe.
- 1. Android: Cómo descomprimir un archivo zip encriptado
- 2. Crear un archivo ZIP cifrado en Python
- 3. ¿Cómo crear un archivo jar encriptado?
- 4. Crear un archivo ZIP con Maven
- 5. ¿Crear un archivo zip de un generador en Python?
- 6. ¿Puedo completar un PDF encriptado con iTextSharp?
- 7. Crear archivo zip para descarga instantánea
- 8. crear carpeta para archivo zip y extraerla
- 9. contraseña archivo zip protegido en Java
- 10. Cómo usar zip4j para extraer un archivo zip con protección de contraseña
- 11. Uso de Maven para crear un archivo zip que contiene un archivo jar ejecutable con dependencias
- 12. C zip library que puede crear archivos zip protegidos con contraseña en Windows?
- 13. Python: Cómo descargar un archivo zip
- 14. Android: descomprimir archivos zip codificados con contraseña
- 15. Archivo zip válido en python
- 16. Leer un archivo zip y escribirlo en otro archivo python
- 17. No es capaz de crear un archivo Zip en Gradle
- 18. código Java para crear un archivo JAR
- 19. Usando System.IO.Packaging para generar un archivo ZIP
- 20. Carpeta ZIP con subcarpeta en python
- 21. Para comprimir un archivo grande en un ZIP con Java
- 22. ¿Cómo crear y llenar un archivo ZIP utilizando ASP.NET?
- 23. Obteniendo una excepción "No se puede leer como archivo zip" al intentar obtener una transmisión de un archivo Zip interno (un Zip dentro de otro Zip)
- 24. Eliminar archivo del archivo zip con el Módulo ZipFile
- 25. Acceso al archivo encriptado pgp en Ruby
- 26. Crear un archivo comprimido cifrado con PHP
- 27. Crear archivo zip o tar.gz sin ejecutivo
- 28. ¿Cómo crear un archivo .zip desde mi directorio de documentos?
- 29. Cómo crear un archivo Zip sin comprimir en Java
- 30. ¿Archivo comprimido con seguridad de contraseña?
Bollocks. "" "ZipFile.setpassword (pwd) Establezca pwd como contraseña predeterminada para extraer los archivos cifrados."" " No funciona ** creando ** un zip con una contraseña. –
Gracias por mencionar que John, he actualizado la entrada para mencionar una solución de utilidad de línea de comandos en su lugar. –
No veo' -P' en la utilidad 'zip' estándar.' Zip --help | grep -i -e '-p'' no devuelve nada (Ubuntu, Zip 3.0 (5 de julio de 2008), por Info-ZIP). Utilizo open- fuente de solución en mi respuesta: http://stackoverflow.com/questions/2195747/python-code-to-create-a-password-encrypted-zip-file/2366917#2366917 – jfs