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 secrets
0, 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 secrets
1. Cuối cùng, secrets
2 đả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 secrets
3. 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. secrets
5 và secrets
6 lưu trữ các biến vào bảng tính CSV. Sử dụng secrets
7 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 secrets
8 secrets
9 đơ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. random
1]. Tôi đã thấy rất nhiều người làm điều gì đó giống như random
2 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
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"