Protect parola Formular - articol
Protejați parola Formular
Din moment ce acest lucru este un astfel de interes, acum încercăm să înțelegem elementele de bază ale acestei protecții. Să discutăm modul în care o vom face. Este logic că înainte de a rula forma pe care vrem să protejăm, este necesar să se solicite utilizatorului o parolă (poți desigur, și o combinație de nume de utilizator - parolă, dar vom lua în considerare exemplul unei parole numai) și pentru a compara valoarea introdusă cu unele rezervată în program (acesta poate fi stocat atât în mod explicit și criptat). În cazul în care valorile se potrivesc, atunci vom deschide formularul necesar, sau de a completa întreaga aplicație.
Să ne întoarcem acum direct forma dezvoltarea unei parole. In timp ce noi dezvolta nimic și nu trebuie să: cea mai simplă versiune a acestui formular consumabile Delphi. Trebuie să selectați elementul de meniu File -> Nou. În caseta de dialog, selectați fila Dialogs. faceți clic pe Password dialog și faceți clic pe OK. Apare pe ecran gata pentru a forma o solicitare de parolă pentru numele PasswordDlg.
Pe această formă, vor fi două Ok și Anulare butoane. caseta de introducere a parolei de text numit parola. Eticheta Label1 care spune Enter Password. Înlocuiți proprietatea Caption Label1 etichetă pe ochi român mai plăcută „Enter Password“. De asemenea, modificați proprietatea Caption pentru forma în sine pe „parolă Solicitare“, de exemplu.
Să acorde o atenție la câmpul de introducere de proprietate PasswordChar Edit este un asterisc (*) - acest lucru înseamnă că, atunci când introduceți toate caracterele vor fi înlocuite cu asteriscuri.
Trebuie să ne asigurăm că formularul de solicitare a parolei apare pe ecran înainte de formularul principal. Acest lucru se face acest lucru. În caz de tratare a formei principale OnShow trebuie să scrie cod de genul:
Acest cod se execută formularul nostru de solicitare a parolei (PasswordDlg) înainte de principal. Și pune la dispoziție sub forma de bază, înainte de a închide formularul prompt parola. Acum, rulați programul, compilatorul vă va întreba dacă doriți să adăugați la utilizări. Modul de a doua formă, desigur, trebuie să răspundă la ceea ce vrei!
În continuare vom proceda după cum urmează. O parolă va fi stocată ca o constantă în cererea noastră. Când introduceți parola corectă va deschide formularul principal, și vom finaliza cererea noastră atunci când introduceți parola greșită, apăsați butonul Cancel, și alte încercări de a închide formularul de anchetă.
Pentru a face acest lucru, scrie un handler pentru evenimente OnCloseQuery pentru formularul de solicitare. Aici vom compara conținutul liniei de intrare cu parola noastră constantă, care va fi anunțat în același handler. Astfel, se pare următorul cod:
Așa că ne-am dat seama cel mai simplu mod de a proteja forme. Dacă doriți să comparați parola de caz-insensibil, este necesar pentru a converti ambele siruri de caractere, de exemplu, în caz de jos. Pentru a face acest lucru, trebuie să modificați doar o singură linie:
dacă Password.Text = trece apoi CanClose: = true
ar trebui să fie înlocuit cu:
în cazul în litere mici (Password.Text) = litere mici (trecere), apoi CanClose: = true
Acum vom încerca să protejeze forma unei parole care va fi stocat în formă criptată. Criptați parola în modul cel mai simplu - XOR. Pentru a face acest lucru, scrie o funcție:
Prin numele său funcția va returna un șir criptat este trecut în parametrul text. Nu uitați să declare această funcție în secțiunea Public:
Acum, să se schimbe OnCloseQuery de tratare a evenimentului. descrise în primul exemplu, o astfel:
Procedura TPasswordDlg.FormCloseQuery (Expeditor: TObject;
var CanClose: Boolean);
var pass: string;
începe
pass: = xortext ( 'Wellcome');
După cum puteți vedea și-a schimbat destul de un pic, iar acum parola într-o formă criptată pot fi stocate, de exemplu, într-un fișier. Deci, a proteja forma :-)
Subiecte legate de articole
Pentru a introduce o trimitere la prezentul articol pe un alt site, utilizați următorul HTML-cod: