Đọc tệp CSV được bảo vệ bằng mật khẩu trong Python

Tôi đã viết một bài có tên Gửi email được mã hóa bằng Python về mã hóa và giải mã thư, cũng có thể được sử dụng để tạo mật khẩu. Tuy nhiên, tôi muốn tiến thêm một bước nữa bằng cách làm cho nó an toàn hơn bằng cách sử dụng mô-đun secrets, chữ hoa và chữ thường và các ký tự đặc biệt. Ngoài ra, tôi muốn lưu mật khẩu vào bảng tính CSV

Quá trình này để tạo mật khẩu an toàn và lưu chúng cục bộ là điều dễ hiểu. Nhiều người sử dụng một mật khẩu cho nhiều tài khoản, nếu tài khoản của bạn bị xâm phạm thì những người khác cũng vậy. Ngoài ra, mọi người đều dễ bị đánh cắp danh tính, vì vậy việc tạo mật khẩu an toàn hơn là điều có lợi trên toàn cầu

Mã Python

Đào sâu vào mã

Dòng 1-3. Cần có ba mô-đun, chuỗi, bí mật và csv và tôi đã liên kết với từng tài liệu của họ nếu cần đọc thêm. Python khuyên bạn nên sử dụng secrets thay cho ghi chú mô-đun random. “Đặc biệt, các bí mật nên được ưu tiên sử dụng thay cho trình tạo số giả ngẫu nhiên mặc định trong mô-đun ngẫu nhiên, được thiết kế để lập mô hình và mô phỏng, chứ không phải bảo mật hoặc mật mã. ”

dòng 5. Toàn bộ mã Python được bao bọc trong một vòng lặp while True, vòng lặp này sẽ chạy miễn là biểu thức điều kiện có giá trị là True. Điều này là để cho phép người dùng nhập nhiều mật khẩu được tạo hơn, mật khẩu này sẽ được tìm thấy trên dòng 31-36

Lines 8 and 11: These are variables to be used later. The characters variable makes use of the string module to use ascii_lowercase and ascii_uppercase constants, punctuations (e.g. !”#$%&'()*+,-./:;<=>?@[\]^_`{|}~), and digits (e.g. 0123456789). Combining these three constants will help create a strong password. To make this much more secure, the secrets module is used to randomize the password in 16 characters.

Dòng 13. Biến title được sử dụng để giúp người dùng tương quan với những gì mật khẩu đang tham chiếu

dòng 15. Để người dùng xác định mật khẩu của họ, Python sẽ nhắc “Tiêu đề của mật khẩu. ”. Sau khi nhập tiêu đề, mật khẩu sẽ được tạo

Dòng 17. Phần này có một vài điều thú vị để chuyển dữ liệu sang bảng tính CSV. Đầu tiên, nó sẽ open() một tệp, theo sau là tên/vị trí tệp. Tiếp theo, "a" được sử dụng, mở tệp để nối thêm. Nếu tệp không tồn tại, nó sẽ tạo một tệp mới để ghi. Tôi thấy nhiều người sử dụng secrets0, mở tệp chỉ để ghi và ghi đè lên tệp nếu tệp tồn tại. Trong trường hợp này, tôi không muốn làm mất dữ liệu của mình mỗi khi cập nhật, vì vậy tôi sử dụng secrets1. Cuối cùng, secrets2 đảm bảo dữ liệu được mã hóa đúng cách

Dòng 19-28. Để ghi vào tệp CSV bằng Python, chúng tôi sử dụng hàm secrets3. Hàm này ghi dữ liệu của người dùng vào một chuỗi được phân cách. Sau đó, chuỗi này có thể được sử dụng để ghi vào tệp CSV bằng cách sử dụng _________4. secrets5 và secrets6 lưu trữ các biến vào bảng tính CSV. Sử dụng secrets7 cho phép dữ liệu nằm trong một ô. Nếu điều đó bị xóa, mỗi ký tự sẽ ở trên ô của chính nó

Dòng 31-36. Người dùng được hỏi xem họ muốn thêm nhiều mục nhập hay thoát. Một secrets8 secrets9 đơn giản sẽ xác định việc lặp lại vòng lặp hoặc bỏ cuộc

Phần kết luận

Tôi đã viết điều này vì nhiều lý do. Đầu tiên, hầu hết các ví dụ về mật khẩu do Python tạo ra đều không sử dụng mô-đun string đúng cách (e. g. random1). Tôi đã thấy rất nhiều người làm điều gì đó giống như random2 trong mã của họ–không nhận ra rằng mô-đun string đã có thể đảm nhận việc đó. Thứ hai, tôi đã đọc các cuộc tranh luận về việc sử dụng random hoặc secrets, nhưng tôi thích sử dụng tài liệu của Python hơn và sử dụng mô-đun thứ hai. Thứ ba, tôi chưa tìm thấy ví dụ nào mà mọi người đưa ra một số liên kết với mật khẩu của họ. Trình tạo mật khẩu sẽ vô dụng nếu không có mối tương quan giữa tài khoản và mật khẩu. Cuối cùng, nếu bạn đang tạo mật khẩu an toàn, bạn sẽ phải lưu trữ thông tin đó để tìm sau. Tại sao không sửa lỗi đó và chèn dữ liệu vào tệp cục bộ

Thư viện EasyXLS Excel có thể được sử dụng để xuất tệp Excel bằng Python trên Windows, Linux, Mac hoặc các hệ điều hành khác. Việc tích hợp khác nhau tùy thuộc vào hệ điều hành hoặc nếu cầu nối cho. NET Framework của Java được chọn

EasyXLS trên Windows bằng cách sử dụng. NET Framework với Python

Nếu bạn chọn cho. NET của EasyXLS, mã bên dưới yêu cầu Pythonnet, cầu nối giữa Python và. Nền tảng NET

Bước 1. Tải xuống và cài đặt Thư viện EasyXLS Excel cho. NET

Để tải xuống phiên bản dùng thử của Thư viện EasyXLS Excel, hãy nhấn vào nút bên dưới

Download EasyXLS™ Excel Library for .NET

Nếu bạn đã sở hữu khóa cấp phép, bạn có thể đăng nhập và tải xuống EasyXLS từ tài khoản của mình

Bước 2. Cài đặt Pythonnet

Để cài đặt, bạn cần chạy lệnh "pip" như sau. Pip là một hệ thống quản lý gói được sử dụng để cài đặt và quản lý các gói phần mềm được viết bằng Python
\Scripts>pip cài đặt "pythonnet. whl"

Bước 3. Bao gồm thư viện EasyXLS vào dự án

EasyXLS. dll phải được thêm vào dự án của bạn. EasyXLS. dll có thể được tìm thấy sau khi cài đặt EasyXLS, trong thư mục "Dot NET version"

Bước 4. Chạy mã Python bảo vệ tệp Excel bằng mật khẩu và mã hóa

Thực thi mã Python sau để tạo tệp Excel được bảo vệ bằng mật khẩu

EasyXLS trên Linux, Mac, Windows sử dụng Java với Python

Nếu bạn chọn phiên bản Java của EasyXLS, mã tương tự như trên yêu cầu Py4J, Pyjnius hoặc bất kỳ cầu nối nào khác giữa Python và Java

Bước 1. Tải xuống và cài đặt Thư viện EasyXLS Excel cho Java

Để tải xuống phiên bản dùng thử của Thư viện EasyXLS Excel, hãy nhấn vào nút bên dưới

Nếu bạn đã sở hữu khóa cấp phép, bạn có thể đăng nhập và tải xuống EasyXLS từ tài khoản của mình

Bước 2. Cài đặt Py4j

Để cài đặt Py4j, bạn cần chạy lệnh "pip" như sau. Pip là một hệ thống quản lý gói được sử dụng để cài đặt và quản lý các gói phần mềm được viết bằng Python
\Scripts>pip cài đặt "py4j. whl"

Bước 3. Tạo thêm chương trình Java

Mã Java sau cần được chạy ở chế độ nền trước khi thực thi mã Python


Bước 4. Thêm thư viện py4j vào CLASSPATH

py4j. jar phải được thêm vào đường dẫn lớp của chương trình Java bổ sung. py4j. jar có thể được tìm thấy sau khi cài đặt Py4j, trong thư mục "\share\py4j"

Bước 5. Thêm thư viện EasyXLS vào CLASSPATH

EasyXLS. jar phải được thêm vào đường dẫn lớp của chương trình Java bổ sung. EasyXLS. jar có thể được tìm thấy sau khi cài đặt EasyXLS, trong thư mục "Lib"

Làm cách nào để đọc tệp CSV được bảo vệ bằng mật khẩu trong Python?

1 câu trả lời .
Lưu tệp CSV sau đó thay đổi quyền trên tệp bằng các lệnh của hệ điều hành - Mật khẩu bảo vệ tệp Excel bằng Python
nén tệp csv bằng mật khẩu. Thật không may, "Mô-đun zipfile dựng sẵn không hỗ trợ ghi các tệp được mã hóa bằng mật khẩu (chỉ đọc). Bạn có thể sử dụng pyminizip

Làm cách nào để mở Excel được bảo vệ bằng mật khẩu trong gấu trúc?

Dùng xlwings, mở file đầu tiên sẽ khởi chạy ứng dụng Excel để bạn nhập mật khẩu. Lưu câu trả lời này

Làm cách nào để xem tệp Excel được bảo vệ bằng mật khẩu?

Khôi phục mật khẩu bảo vệ trang tính bị mất trong Excel bằng mã VBA .
Mở trang tính của bạn đã được bảo vệ trước đó
Giữ phím ALT + F11 và nó sẽ mở cửa sổ Microsoft Visual Basic for Applications
Nhấp vào Chèn > Mô-đun và dán đoạn mã sau vào Cửa sổ Mô-đun

Làm cách nào để xóa mật khẩu khỏi tệp Excel bằng python?

Sau đây là các bước để hủy bảo vệ tệp Excel được bảo vệ bằng mật khẩu trong Python. .
Tải tệp Excel bằng lớp Workbook
Sử dụng sổ làm việc. phương thức unprotect(password) để bỏ bảo vệ tệp Excel
Lưu tệp Excel không được bảo vệ bằng Workbook. phương pháp lưu (tên tệp)