Cette méthode de chiffrement est divisée en trois parties:
1. Déterminez le contenu de la boîte de dialogue de réglage en fonction des résultats de recherche du registre.
2. Si vous l'utilisez pour la première fois, définissez un nouveau mot de passe;
3. Une applet de transformation de mot de passe (beaucoup plus compliquée que celle d'origine). Bien sûr, si vous avez besoin de modifier la fonction de mot de passe, modifiez simplement la pièce de réglage du mot de passe.
1. Lorsque le programme démarre, recherchez le registre pour déterminer s'il existe un mot de passe pour déterminer le contenu d'affichage de la fenêtre. Cependant, l'énoncé suivant doit être fait avant l'utilisation:
Ajoutez du trégistry à l'utilisateur et ajoutez les variables de formulaire suivantes à la déclaration VAR:
C'est ce que le Tregistry;
KeyName, Valuestr, TEMPSTR: String;
Procédure tfrmpass.formShow (expéditeur: tobject);
Commencer
Il y a: = Tregistry.Create;
Essayez-vous avec lui-même.
KeyName: = ′ Software / MyPassword ′;
// Si cette clé est disponible, elle sera ouverte;
Si il y a.OpenKey (KeyName, True) alors commencez
Temptr: = ExtractFileName (application.exename);
Valuestr: = thes.readString (tempmStr);
// Si le mot de passe n'est pas vide, modifiez le formulaire pour vérifier le mot de passe
Si Valuest <> '' alors commencez
edit2.visible: = false; frmpass.caption: = ′ Vérifier le mot de passe ';
edit1.setfocus; ok.caption: = 'déterminer';
// Si le mot de passe est vide, modifiez la boîte de dialogue du formulaire pour définir le mot de passe
d'autre commence
ShowMessage ('Veuillez définir le mot de passe pour la première fois!');
edit2.visible: = true; frmpass.caption: = 'Veuillez définir un nouveau mot de passe';
edit1.setfocus; ok.caption: = 'set';
fin;
Enfin, la fin;
2. Le code de réponse du bouton: comprend le nouveau mot de passe et le mot de passe de vérification.
procédure tfrmpass.okclick (expéditeur: tobject);
Commencer
// juge le mot de passe existant selon que l'Edit2 s'affiche ou non, et vérifiez
Si édit2.visible = false alors commencez
Si pas (edit1.text) = Valuestr alors commencez
ShowMessage («Le mot de passe est correct!»);
d'autre commence
ShowMessage («Le mot de passe est incorrect! Pas d'autorisation de fonctionner!»);
Halt; fin;
d'autre commence
Si edit1.text = edit2.text alors commencez
Il y a: = Tregistry.Create;
Thes.rootkey: = hkey - local - machine;
KeyName: = ′ Software / MyPassword ′;
Si tel est-ce
There.WriteString (Temptr, pass (edit1.text));
ENTRE
d'autre commence
ShowMessage («Le mot de passe tapé à nouveau est incohérent, veuillez vous réintégrer!»);
edit1.text: = ′ ′;
edit1.setfocus;
fin;
3. Programme de conversion de mot de passe: Soyez prudent au prédéfini.
À mon avis, ce programme de transformation n'est pas très compliqué. Les lecteurs peuvent également utiliser d'autres fonctions mathématiques pour effectuer des transformations plus complexes.
Function Pass (PSTR: String): String;
var str, str1: string;
I, J: entier;
Commencer
str: = pstr;
pour i: = 1 à la longueur (str) commence
// s'il vous plaît le premier changement
j: = (i * i * i mod (i + 20)) + (i * i mod (i + 10)) + i * 2 + 1;
str1: = str1 + chr (ord (str [i]) + j);
j: = (i * i * i mod (i + 10)) + (i * i mod (i + 20)) + i * 2 + 1;
str1: = str1 + chr (ord (str [i]) + j);
passer: = str1;
fin;