Trong phần này, bạn sẽ tìm hiểu các cách thích hợp để tạo mật khẩu mạnh và mã thông báo ngẫu nhiên được bảo mật bằng mật mã. Việc có các số ngẫu nhiên an toàn cho phép chúng tôi quản lý thông tin nhạy cảm, chẳng hạn như mật khẩu và mã thông báo bảo mật. Chúng tôi sẽ sử dụng mô-đun bí mật, có sẵn kể từ Python 3. 6. Các tài liệu chính thức nêu rõ Show
Có ba phần trong bài viết này
Bắt đầu nào 1. Sử dụng cơ bản Mô-đun bí mật cung cấp một số chức năng tích hợp sẵn mà chúng tôi có thể sử dụng để tạo số và mã thông báo. Không cần thiết lập nhưng chúng tôi cần nhập mô-đun trước khi sử dụng import secrets Tạo một số ngẫu nhiênSử dụng hàm secrets.randbelow(2) # generate either 0 or 1 6 để tạo số. Nó chấp nhận một số nguyên và số được tạo nằm trong khoảng từ 0 đến số nguyên đầu vào trừ 1. Số nguyên đầu vào phải lớn hơn 0secrets.randbelow(2) # generate either 0 or 1 Bạn cũng có thể sử dụng hàm secrets.randbelow(2) # generate either 0 or 1 7 để tạo số ngẫu nhiên. Nó chấp nhận một số nguyên đại diện cho số bit. Số nguyên đầu vào phải lớn hơn 0secrets.randbits(1) # generate either 0 or 1 Tạo một phần tử ngẫu nhiên từ một danh sáchMô-đun này cũng cung cấp một cách để chúng tôi chọn một phần tử ngẫu nhiên từ một chuỗi không trống. Hãy thử dùng hàm secrets.randbelow(2) # generate either 0 or 1 8colour = ['red', 'blue', 'green', 'purple', 'yellow'] Tạo một chuỗi byte ngẫu nhiênHàm secrets.randbelow(2) # generate either 0 or 1 9 là sự lựa chọn hoàn hảo để tạo byte. Bạn có thể chỉ định một số nguyên làm tham số. Nó sẽ xác định một số nguyên ngẫu nhiên nếu bạn không chỉ định gì cả________số 8Bạn sẽ thấy một chuỗi byte ngẫu nhiên như thế này b'\x1bq\x8e\x83\x08\xb2g\x17' Tạo một chuỗi ngẫu nhiên ở dạng thập lục phânNếu bạn muốn một chuỗi ở dạng thập lục phân, bạn có thể sử dụng hàm secrets.randbits(1) # generate either 0 or 1 0. Cũng giống như hàm secrets.randbelow(2) # generate either 0 or 1 9, nó nhận một số nguyên dùng để tạo n byte, mỗi byte sẽ được chuyển đổi thành hai chữ số hex sau đósecrets.randbelow(2) # generate either 0 or 1 2Đây là một ví dụ về đầu ra secrets.randbelow(2) # generate either 0 or 1 3Tạo chuỗi an toàn cho URLĐôi khi, bạn có thể muốn một chuỗi được mã hóa Base64 cho ứng dụng web của mình. Hàm secrets.randbits(1) # generate either 0 or 1 2 có ích cho trường hợp sử dụng như vậysecrets.randbelow(2) # generate either 0 or 1 5Tôi nhận được kết quả sau secrets.randbelow(2) # generate either 0 or 1 62. ví dụ Trong phần này, tôi sẽ phác thảo một số phương pháp hay nhất để tạo mật khẩu và mã thông báo an toàn. Hãy tự mình kiểm tra chúng Tạo mật khẩu gồm 10 ký tự chữ và sốsecrets.randbelow(2) # generate either 0 or 1 0
Tạo mật khẩu thập lục phân gồm 10 ký tự có dấu chấm câusecrets.randbelow(2) # generate either 0 or 1 1Tạo mật khẩu gồm 10 ký tự với ít nhất một chữ thường, một chữ hoa và một chữ sốsecrets.randbelow(2) # generate either 0 or 1 2
Tạo mật khẩu gồm 10 ký tự với ít nhất hai chữ hoa và hai chữ sốsecrets.randbelow(2) # generate either 0 or 1 3Tạo mật khẩu bốn từ duy nhấtsecrets.randbelow(2) # generate either 0 or 1 4Tạo một URL tạm thời với mã thông báo bảo mật để đặt lại mật khẩusecrets.randbelow(2) # generate either 0 or 1 53. Phần kết luận Hãy tóm tắt những gì chúng ta đã học ngày hôm nay. Chúng tôi bắt đầu khám phá các chức năng cơ bản được cung cấp bởi mô-đun secrets.randbits(1) # generate either 0 or 1 7Sau đó, chúng tôi đã thử nghiệm các chức năng để tạo một số mật khẩu và mã thông báo ngẫu nhiên ở dạng mã thông báo chuỗi hoặc byte Cuối cùng, chúng tôi đã thử chơi với mô-đun và tạo một vài loại mật khẩu khác nhau mạnh và bảo mật Xin lưu ý rằng bạn không nên lưu trữ mật khẩu của mình trong bất kỳ tệp văn bản thuần túy hoặc tệp được mã hóa nào có thể dễ dàng khôi phục. Chúng nên được muối và băm bằng hàm băm một chiều, không thể đảo ngược |