minlen=8 ucredit=1 dcredit=1 ocredit=0 lcredit=0
Tôi đoán rằng bạn muốn mật khẩu của mình có ít nhất 8 ký tự, chứa ít nhất 1 ký tự viết hoa và 1 chữ số. Nếu vậy, đó KHÔNG phải là những gì bạn đã cấu hình.
Cho rằng bạn nên sử dụng : minlen=8 ucredit=-1 dcredit=-1
.
Giải thích: thuật toán minlen sử dụng "tín dụng" để xác định giá trị độ dài. Giả sử bạn có mật khẩu 6 ký tự. minlength sẽ không ít hơn 6. Sau đó, khi sử dụng bất kỳ giá trị tín dụng nào, bạn sẽ nhận được 1 "tín dụng" cho việc sử dụng các ký tự chữ thường, 1 tín dụng cho việc sử dụng các ký tự viết hoa, v.v. Do đó, mật khẩu gồm Hello!
6 ký tự, +1 để sử dụng chữ hoa, +1 để sử dụng chữ thường, +1 để sử dụng các ký tự đặc biệt cho tổng giá trị minlen là 9.
Chỉ định ucredit=1 dcredit=1 ocredit=0 lcredit=0
, với cùng một mật khẩu sẽ có độ dài 6, +1 khi sử dụng chữ hoa, 0 để sử dụng chữ thường và 0 để sử dụng các ký tự đặc biệt, cho độ dài 7. Nó không bắt buộc bạn phải sử dụng các ký tự in hoa.
Nếu bạn sử dụng số âm cho các khoản tín dụng, điều đó đòi hỏi bạn phải có ít nhất số đó và KHÔNG sử dụng tín dụng.
Vì vậy, minlength=8 ucredit=-1 dcredit=-1 ocredit=0 lcredit=0
sau đó sẽ yêu cầu mật khẩu dài ít nhất 8 ký tự, chứa ít nhất 1 ký tự viết hoa và 1 chữ số. Do đó, mật khẩu helloboy
là 8 ký tự, nhưng sẽ thất bại. Hellob0y
sẽ vượt qua. He$$ob0y
cũng sẽ qua.