function BOOL CheckPassPolicy(pass, message)
BOOL bPass,bResult;
string tab_AZ,tab_az,tab_09,tab_sc, znak, znak1;
CHAR ch,ch1;
int i, j, iKat;
begin
tab_AZ="AĄBCĆDEĘFGHIJKLŁMNŃOÓPQRSTUVWXYZŻŹ";
StrToLower(tab_az,tab_AZ);
tab_09="0123456789";
tab_sc="`!@#$%^*_+-";
bPass = TRUE;
iKat = 0;
if (StrLength(pass)<8) then
message="Hasło nie może być krótsze niż 8 litery!";
bPass = FALSE;
endif;
// Kategoria 1. A..Z
bResult = FALSE;
for i=0 to StrLength(pass)-1
ch = pass[i];
for j=0 to StrLength(tab_AZ)-1
ch1 = tab_AZ[j];
if (ch = ch1) then bResult = TRUE; endif;
endfor;
endfor;
if bResult then iKat = iKat + 1; endif;
// Kategoria 2. a..z
bResult = FALSE;
for i=0 to StrLength(pass)-1
ch = pass[i];
for j=0 to StrLength(tab_az)-1
ch1 = tab_az[j];
if (ch = ch1) then bResult = TRUE; endif;
endfor;
endfor;
if bResult then iKat = iKat + 1; endif;
// Kategoria 3. 0..9
bResult = FALSE;
for i=0 to StrLength(pass)-1
StrSub(znak,pass,i,1);
if (StrFind(tab_09,znak)>=0) then bResult = TRUE; endif;
endfor;
if bResult then iKat = iKat + 1; endif;
// Kategoria 4. special chars
bResult = FALSE;
for i=0 to StrLength(pass)-1
StrSub(znak,pass,i,1);
if (StrFind(tab_sc,znak)>=0) then bResult = TRUE; endif;
endfor;
if bResult then iKat = iKat + 1; endif;
if (iKat<3) then bPass = FALSE; endif;
//Zawartosc spacji w hasle
if (StrFind(pass," ")>=0) then
bPass = FALSE;
if StrLength(message)=0 then message = "Hasło nie może zawierać spacji!";
else message = message + "\nHasło nie może zawierać spacji!";
endif;
endif;
return bPass;
end;
Programowanie c++/c#/delphi/javas/php/installscript/nativescript
Przykłady - przydatne funkcje
środa, 28 października 2009
Funkcja sprawdzająca, czy podane hasło spełnia kryteria Polityki Bezpieczeństwa Haseł
Zwraca TRUE jeżeli parametr pass spełnia kryteria, w przeciwnym razie w parametrze message zwracany jest odpowiedni komunikat
Etykiety:
InstallShield - funkcje
Subskrybuj:
Komentarze do posta (Atom)
Brak komentarzy:
Prześlij komentarz