Hướng dẫn how to store username and password in python - cách lưu trữ tên người dùng và mật khẩu trong python
Có một vài tùy chọn để lưu trữ mật khẩu và các bí mật khác mà chương trình Python cần sử dụng, đặc biệt là một chương trình cần chạy trong nền nơi không thể yêu cầu người dùng nhập mật khẩu. Show
Vấn đề cần tránh:
Tùy chọn 1: SSHĐây không phải lúc nào cũng là một lựa chọn, nhưng nó có lẽ là tốt nhất. Khóa riêng của bạn không bao giờ được truyền qua mạng, SSH chỉ chạy các tính toán toán học để chứng minh rằng bạn có khóa phù hợp. Để làm cho nó hoạt động, bạn cần như sau:
Tùy chọn 2: Biến môi trườngĐây là đơn giản nhất, vì vậy nó có thể là một nơi tốt để bắt đầu. Nó được mô tả tốt trong ứng dụng mười hai yếu tố. Ý tưởng cơ bản là mã nguồn của bạn chỉ cần lấy mật khẩu hoặc các bí mật khác từ các biến môi trường và sau đó bạn định cấu hình các biến môi trường trên mỗi hệ thống nơi bạn chạy chương trình. Nó cũng có thể là một liên lạc tốt đẹp nếu bạn sử dụng các giá trị mặc định sẽ hoạt động cho hầu hết các nhà phát triển. Bạn phải cân bằng điều đó so với việc làm cho phần mềm của bạn "an toàn theo mặc định". Dưới đây là một ví dụ kéo máy chủ, tên người dùng và mật khẩu từ các biến môi trường.
Tra cứu cách đặt các biến môi trường trong hệ điều hành của bạn và xem xét chạy dịch vụ trong tài khoản của chính nó. Bằng cách đó, bạn không có dữ liệu nhạy cảm trong các biến môi trường khi bạn chạy các chương trình trong tài khoản của riêng bạn. Khi bạn thiết lập các biến môi trường đó, hãy cẩn thận hơn rằng người dùng khác không thể đọc chúng. Kiểm tra quyền tệp, ví dụ. Tất nhiên, bất kỳ người dùng nào có quyền root sẽ có thể đọc chúng, nhưng điều đó không thể được giúp đỡ. Nếu bạn đang sử dụng SystemD, hãy xem đơn vị dịch vụ và cẩn thận sử dụng Tùy chọn 3: Tệp cấu hìnhĐiều này rất giống với các biến môi trường, nhưng bạn đọc các bí mật từ một tệp văn bản. Tôi vẫn tìm thấy các biến môi trường linh hoạt hơn cho những thứ như công cụ triển khai và máy chủ tích hợp liên tục. Nếu bạn quyết định sử dụng tệp cấu hình, Python sẽ hỗ trợ một số định dạng trong thư viện tiêu chuẩn, như JSON, INI, NETRC và XML. Bạn cũng có thể tìm thấy các gói bên ngoài như Pyyaml và Toml. Cá nhân, tôi thấy JSON và YAML đơn giản nhất để sử dụng và YAML cho phép bình luận. Ba điều cần xem xét với các tệp cấu hình:
Tùy chọn 4: Mô -đun PythonMột số dự án chỉ đưa bí mật của họ vào một mô -đun Python.
Sau đó nhập mô -đun đó để có được các giá trị.
Một dự án sử dụng kỹ thuật này là Django. Rõ ràng, bạn không nên cam kết Tôi thấy một vài vấn đề với kỹ thuật này:
Nếu dự án của bạn đã sử dụng kỹ thuật này, thật dễ dàng để chuyển sang các biến môi trường. Chỉ cần di chuyển tất cả các giá trị cài đặt sang các biến môi trường và thay đổi mô -đun Python để đọc từ các biến môi trường đó. Làm cách nào để tạo tên người dùng và trình tạo mật khẩu trong Python?Cách mã hóa một trình tạo mật khẩu trong Python [trong 4 bước].. Bước 1: Nhập các mô -đun cần thiết. Bước đầu tiên, hãy nhập mô -đun bí mật. .... Bước 2: Xác định bảng chữ cái. Bước tiếp theo là xác định bảng chữ cái. .... Bước 3: Khắc phục độ dài của mật khẩu; Tạo mật khẩu. .... Bước 4: Tùy chỉnh mật khẩu của bạn dựa trên các ràng buộc .. Thông tin đăng nhập Python được lưu trữ ở đâu?Thay vì lưu trữ mật khẩu trong tệp không được bảo vệ, thay vào đó chúng tôi có thể sử dụng khóa của hệ thống, đây là một ứng dụng có thể lưu trữ thông tin đăng nhập an toàn trong tệp được mã hóa trong thư mục nhà của bạn.encrypted file in your home directory.
Làm thế nào để bạn đặt một mật khẩu trên một tệp trong Python?Bảo vệ một tài liệu Word bằng mật khẩu trong Python.. Đầu tiên, tải tài liệu từ bằng lớp tài liệu .. Tạo một đối tượng của lớp OoxMLSaveOptions (để lưu ở định dạng DOC, sử dụng lớp docsaveoptions thay thế) .. Đặt mật khẩu bằng OoxMLSaveOptions.Tài sản mật khẩu .. Cuối cùng, lưu tài liệu từ được bảo vệ bằng tài liệu .. Làm cách nào để mã hóa mật khẩu và tên người dùng trong Python?Steps:.. Nhập thư viện RSA .. Tạo khóa công khai và riêng tư với RSA..... Mã hóa chuỗi thành chuỗi byte .. Sau đó mã hóa chuỗi byte bằng khóa công khai .. Sau đó chuỗi được mã hóa có thể được giải mã bằng khóa riêng .. Khóa công khai chỉ có thể được sử dụng để mã hóa và riêng tư chỉ có thể được sử dụng để giải mã .. |