Yêu cầu chung: mật khẩu phải đủ phức tạp. Bài viết demo kiểm tra độ phức tạp mật khẩu dùng module re (regular expression).
Ví dụ 1: Mật khẩu hợp lệ
Yêu cầu: ít nhất 1 chữ hoa, 1 số, 1 ký tự đặc biệt, độ dài 8-18.
Ví dụ
import re
pswd = 'XdsE83&!'
reg = r"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!#%*?&]{8,18}$"
match_re = re.compile(reg)
res = re.search(match_re, pswd)
print("Mật khẩu hợp lệ" if res else "Mật khẩu KHÔNG hợp lệ")
Kết quả
Mật khẩu hợp lệ
Ví dụ 2: Mật khẩu không hợp lệ
Thiếu số.
Ví dụ
import re
pswd = 'XdsEfg&!'
reg = r"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!#%*?&]{8,18}$"
match_re = re.compile(reg)
res = re.search(match_re, pswd)
print("Mật khẩu hợp lệ" if res else "Mật khẩu KHÔNG hợp lệ")
Kết quả
Mật khẩu KHÔNG hợp lệ