Tạo mật khẩu ngẫu nhiên đáp ứng các điều kiện trong Python
Trong bài tập này, mình sẽ hướng dẫn cách tạo một mật khẩu ngẫu nhiên có độ dài 10 ký tự và phải đáp ứng ít nhất ba điều kiện sau: chứa ít nhất 2 chữ in hoa, 1 chữ số và 1 ký hiệu đặc biệt.
Bước 1: Import thư viện random và string
Như trong các bài tập trước, mình cần import thư viện random và string để sử dụng các hàm và biến từ chúng.
import random import string
Bước 2: Định nghĩa hàm tạo mật khẩu ngẫu nhiên
Mình sẽ viết một hàm tên là randomPassword
để tạo mật khẩu ngẫu nhiên. Hàm này sẽ thực hiện các bước sau:
Tạo một nguồn ký tự ngẫu nhiên bao gồm chữ cái (in hoa và in thường), chữ số và ký hiệu đặc biệt.
randomSource = string.ascii_letters + string.digits + string.punctuation
Chọn 6 ký tự ngẫu nhiên từ nguồn trên để tạo một phần của mật khẩu
password = random.sample(randomSource, 6)
Chọn ít nhất 2 chữ in hoa ngẫu nhiên và thêm vào mật khẩu.
password += random.sample(string.ascii_uppercase, 2)
Chọn một chữ số ngẫu nhiên và thêm vào mật khẩu.
password += random.choice(string.digits)
Chọn một ký hiệu đặc biệt ngẫu nhiên và thêm vào mật khẩu.
password += random.choice(string.punctuation)
Đảm bảo rằng mật khẩu không bị sắp xếp theo thứ tự ban đầu.
passwordList = list(password) random.SystemRandom().shuffle(passwordList) password = ''.join(passwordList)
Cuối cùng, hàm sẽ trả về mật khẩu đã tạo.
Bước 3: In kết quả
Gọi hàm randomPassword và in mật khẩu ngẫu nhiên ra màn hình.
print("Mật khẩu là:", randomPassword())
Kết quả:
Khi bạn chạy chương trình, bạn sẽ nhận được một mật khẩu ngẫu nhiên có độ dài 10 ký tự, đảm bảo rằng nó chứa ít nhất 2 chữ in hoa, 1 chữ số và 1 ký hiệu đặc biệt. Kết quả sẽ thay đổi mỗi khi bạn chạy chương trình.
Ví dụ kết quả:
Mật khẩu là: Bx#7rYtZpQ
Như vậy, bạn đã hoàn thành bài tập "Tạo Mật Khẩu Ngẫu Nhiên Theo Điều Kiện Trong Python". Bây giờ bạn đã biết cách tạo mật khẩu mạnh và đáp ứng các yêu cầu bảo mật cơ bản trong lập trình Python.
Bài giải
-------------------- ######## --------------------
Câu hỏi thường gặp liên quan:
- Tạo 3 số nguyên ngẫu nhiên từ 100 đến 999 chia hết cho 5 trong Python
- Tạo 100 vé số ngẫu nhiên và chọn hai vé may mắn từ đó làm người chiến thắng bằng Python.
- Tạo OTP bảo mật ngẫu nhiên gồm 6 chữ số bằng Python
- Chọn một ký tự ngẫu nhiên từ một chuỗi cho trước trong Python
- Tạo chuỗi ngẫu nhiên có độ dài 5 trong Python
- Tạo mật khẩu ngẫu nhiên đáp ứng các điều kiện trong Python
- Tính phép nhân hai số thực ngẫu nhiên trong Python
- Tạo mã thông báo bảo mật ngẫu nhiên 64 byte và URL ngẫu nhiên trong Python
- Đổ xúc xắc sao cho lần nào ra kết quả giống nhau trong Python
- Tạo ngày ngẫu nhiên giữa ngày bắt đầu và ngày kết thúc cho trước trong Python