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

 Các kiểu dữ liệu trong C ( int - float - double - char ...)
            Các kiểu dữ liệu trong C ( int - float - double - char ...)         Thuật toán tìm ước chung lớn nhất trong C/C++
            Thuật toán tìm ước chung lớn nhất trong C/C++         Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)
            Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)         ComboBox - ListBox trong lập trình C# winforms
            ComboBox - ListBox trong lập trình C# winforms         Random trong Python: Tạo số random ngẫu nhiên
            Random trong Python: Tạo số random ngẫu nhiên         Lệnh cin và cout trong C++
            Lệnh cin và cout trong C++         Cách khai báo biến trong PHP, các loại biến thường gặp
                Cách khai báo biến trong PHP, các loại biến thường gặp             Download và cài đặt Vertrigo Server
                Download và cài đặt Vertrigo Server             Thẻ li trong HTML
                Thẻ li trong HTML             Thẻ article trong HTML5
                Thẻ article trong HTML5             Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
                Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên             Cách dùng thẻ img trong HTML và các thuộc tính của img
                Cách dùng thẻ img trong HTML và các thuộc tính của img             Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng
                Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng            