- Dài ít nhất 8 kí tự
- Có chứa kí tự đặc biệt
- Có chứa kí tự số
- Có chứa kí tự HOA
- Có chứa kí tự thường
- Không có kí tự nào lặp lại
Ví dụ, "tamIT@10" là một mật khẩu mạnh
Chương trình minh họa:
Mã: Chọn tất cả
Moi ban nhap mat khau: tamIT@10
Do la mot mat khau manh
Mã nguồn:
Mã: Chọn tất cả
Uses Crt;
Var i, j : LongInt;
S : AnsiString;
Check : Array[1..6] Of Byte;
Begin
ClrScr;
Write('Moi ban nhap mat khau: ');
ReadLn(S);
If Length(S) < 8 Then Check[1] := 0 Else Check[1] := 1;
For i := 2 To 5 Do Check[i] := 0;
For i := 1 To Length(S) Do
If Not ((S[i] In ['0'..'9']) Or (S[i] In ['A'..'Z']) Or (S[i] In ['a'..'z'])) Then
Begin
Check[2] := 1;
Break;
End;
For i := 1 To Length(S) Do
If S[i] In ['0'..'9'] Then
Begin
Check[3] := 1;
Break;
End;
For i := 1 To Length(S) Do
If S[i] In ['A'..'Z'] Then
Begin
Check[4] := 1;
Break;
End;
For i := 1 To Length(S) Do
If S[i] In ['a'..'z'] Then
Begin
Check[5] := 1;
Break;
End;
Check[6] := 1;
For i := 1 To Length(S) - 1 Do
For j := i + 1 To Length(S) Do
Begin
If S[i] = S[j] Then Check[6] := 0;
Break;
End;
For i := 1 To 6 Do
If Check[i] = 0 Then
Begin
Write('Do khong phai la mot mat khau manh');
ReadLn;
Exit;
End;
Write('Do la mot mat khau manh');
ReadLn;
End.