Mã Python để tạo tệp zip được mã hóa mật khẩu là gì? Tôi tốt với việc sử dụng một số tiện ích apt-get'able sử dụng hệ thống trên dòng lệnh.Mã Python để tạo tệp zip được mã hóa mật khẩu?
Trả lời
Trích xuất khá dễ dàng, bạn chỉ cần sử dụng zipfile.ZipFile.setpassword() được giới thiệu trong python 2.6, tuy nhiên thư viện python chuẩn thiếu hỗ trợ tạo tệp zip được mã hóa.
Có các thư viện thương mại có sẵn cho Python hỗ trợ tạo tệp zip được mã hóa và bảo vệ bằng mật khẩu. Nếu bạn muốn sử dụng một cái gì đó tự do có sẵn, bạn cần sử dụng tiện ích dòng lệnh zip
tiêu chuẩn.
zip -e -Ppassword filename.zip fileB fileA ...
Mật khẩu thực tế ("mật khẩu của bạn") chỉ hợp lệ để trích xuất, không phải để tạo tệp zip.
Các giải pháp (không phải theo ý thích của tôi):
Để tạo lưu trữ zip mã hóa (tên 'myarchive.zip'
) sử dụng mã nguồn mở 7-Zip
tiện ích:
rc = subprocess.call(['7z', 'a', '-pP4$$W0rd', '-y', 'myarchive.zip'] +
['first_file.txt', 'second.file'])
Để cài đặt 7-Zip , loại:
$ sudo apt-get install p7zip-full
Để giải nén bằng tay (để chứng minh khả năng tương thích với utitity zip), gõ:
$ unzip myarchive.zip
Và nhập P4$$W0rd
tại dấu nhắc.
Hoặc như nhau trong Python 2.6+:
>>> zipfile.ZipFile('myarchive.zip').extractall(pwd='P4$$W0rd')
+1 7-Zip có sẵn trên Windows cũng hỗ trợ nhiều định dạng nén/lưu trữ, không chỉ zip 1. –
zipfile.ZipFile không tạo tệp zip được mã hóa. Nó chỉ có thể đọc từ các tệp zip được mã hóa. như đã nêu trong liên kết. – shadowbq
@shado wbq: vâng. 'ZipFile' có thể * trích xuất * (* giải nén *) kho lưu trữ được mã hóa. Nếu nó có thể tạo lưu trữ được mã hóa; bạn sẽ không cần tiện ích '7z'. 'pyminizip' đã không tồn tại trong năm 2010. Tôi không biết làm thế nào thuận tiện (để cài đặt) hoặc đáng tin cậy (so với' 7z') 'pyminizip' là - trạng thái phát triển của nó là * alpha *. – jfs
Bạn có thể sử dụng Pygpgme để tạo ra một tập tin gpg mật khẩu bảo vệ, được nén.
Bạn sẽ cần phải sử dụng tương đương với gpg -c myfile hoặc gpg --symmetric myfile và gpg myFile.gpg
Tôi không biết những gì tương đương là ở chỗ mô-đun Python , nhưng tôi biết họ đã tồn tại kể từ phiên bản 0.2. Đã có một báo cáo lỗi trước khi đề cập đến việc thiếu nó, nhưng ai đó đã phát hành một bản vá và họ đã sửa nó trong phiên bản 0.2.
Điều này sử dụng mã hóa đối xứng để bạn không phải lo lắng về khóa.
Bạn có thể tìm thấy bài đăng của mình yêu cầu cách sử dụng nó trên UbuntuForums. Hãy trả lời nếu bạn biết.
- 1. Mã hóa mật khẩu
- 2. Mã hóa mật khẩu joomla
- 3. Codeigniter không thể giải mã mật khẩu được mã hóa
- 4. Tạo một file ZIP được mã hóa bằng Python
- 5. Mã hóa mật khẩu db trong application.conf
- 6. Mã hóa "mật khẩu" python an toàn nhất
- 7. Loại mật khẩu băm/mã hóa nào?
- 8. Perl mã hóa mật khẩu STDIN
- 9. Mã hóa mật khẩu trên POST Django
- 10. Giải mã mật khẩu được tạo bằng htpasswd
- 11. Mã hóa cụm mật khẩu Java
- 12. Làm thế nào để mã hóa một tệp .zip?
- 13. Cửa hàng mật khẩu được mã hóa SVN
- 14. Authentication trong Xuân An whith mật khẩu được mã hóa
- 15. Tạo mã bí mật để đặt lại mật khẩu
- 16. Mã hóa tệp bằng Python
- 17. Làm thế nào để giải mã mật khẩu được mã hóa trong md5()?
- 18. Làm thế nào để mã hóa mật khẩu
- 19. Cách tốt nhất để mã hóa mật khẩu trong PHP
- 20. Làm thế nào để không mã hóa mật khẩu?
- 21. Cách đọc mật mã được mã hóa bằng java?
- 22. Python/Django - Tránh lưu mật khẩu trong mã nguồn
- 23. mật khẩu mã hóa/giải mã được lưu trữ trong tập tin cấu hình
- 24. Mã hóa mật khẩu hai chiều không có ssl
- 25. Rails and Devise - Tạo một người dùng ban đầu - thiếu mật khẩu được mã hóa
- 26. Làm thế nào để sử dụng mật khẩu được mã hóa trong apache BasicDataSource?
- 27. mã hóa mật khẩu trong các ứng dụng iphone
- 28. Mã hóa bằng mật khẩu của người dùng
- 29. Android: Cách giải nén tệp zip đã mã hóa
- 30. Python và PGP/mã hóa
Bollocks. "" "ZipFile.setpassword (pwd) Đặt pwd làm mật khẩu mặc định để trích xuất các tệp được mã hóa."" " Nó không làm ** tạo ** mã zip có mật khẩu. –
Cảm ơn bạn đã đề cập đến John, tôi đã cập nhật mục nhập đề cập đến giải pháp tiện ích dòng lệnh thay thế. –
Tôi không thấy' -P' trên tiện ích 'zip' chuẩn' zip --help | grep -i -e '-p'' không trả về gì cả (Ubuntu, Zip 3.0 (ngày 5 tháng 7 năm 2008), bởi Info-ZIP). giải pháp nguồn trong câu trả lời của tôi: http://stackoverflow.com/questions/2195747/python-code-to-create-a-password-encrypted-zip-file/2366917#2366917 – jfs