Générateur de mots de passe aléatoires

Soyez le premier à donner votre avis sur cette source.

Vue 22 726 fois - Téléchargée 2 055 fois

Description

Utiles pour générer des mots de passe pour les forums, les comptes emails, messageries, connexion Wifi ...

Conclusion :


Je n'ai pas commenté la source, mais elle est courte et simple à comprendre.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
samedi 14 avril 2007
Statut
Membre
Dernière intervention
14 avril 2007

bonjour à tous et toutes, j ai téléchargé le generateur mais je ne sais pas l'utiliser.
je suis completement novice dans l'excution d'un programme .
c'est un ami qui m'a donné votre adresse suite aux piratages de mes boites mails.
pouvez vous m'indiquer la marche à suivre.
merci d'avance
Messages postés
1
Date d'inscription
vendredi 19 mai 2006
Statut
Membre
Dernière intervention
18 juillet 2006

bonjour, je débute en informatique, j'ai tléchargé le zip, et jlé décompréssé mai je ne c pa se ke je doi faire ensuite :s help please
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
aucune difference de performance entre les deux. car voici l'interpretation assembleur des deux :

mais un peu plus d'instruction pour repeat vus qu'il faut tester avant d'entrer dans la condition.

function LoopWhile(X,Min,Max : integer) : boolean;
begin
result := (X >= Min) and (X <= Max);
while result do begin
inc(X);
result := (X >= Min) and (X <= Max);
end;
end;

function LoopWhile(X: Integer; Min: Integer; Max: Integer): Boolean;
asm
@@0: push ebx
@@1: cmp edx, eax
@@3: jnle @@9
@@5: cmp ecx, eax
@@7: jnl @@13
@@9: xor ebx, ebx
@@11: jmp @@32
@@13: mov bl, $01
@@15: jmp @@32
@@17: inc eax
@@18: cmp edx, eax
@@20: jnle @@26
@@22: cmp ecx, eax
@@24: jnl @@30
@@26: xor ebx, ebx
@@28: jmp @@32
@@30: mov bl, $01
@@32: test bl, bl
@@34: jnz @@17
@@36: mov eax, ebx
@@38: pop ebx
end;


function LoopRepeat(X,Min,Max : integer) : boolean;
begin
result := (X >= Min) and (X <= Max);
if result then
repeat
inc(X);
result := (X >= Min) and (X <= Max);
until not result;
end;

function LoopRepeat(X: Integer; Min: Integer; Max: Integer): Boolean;
asm
@@0: push esi
@@1: mov esi, ecx
@@3: cmp edx, eax
@@5: jnle @@11
@@7: cmp esi, eax
@@9: jnl @@15
@@11: xor ecx, ecx
@@13: jmp @@17
@@15: mov cl, $01
@@17: test cl, cl
@@19: jz @@40
@@21: inc eax
@@22: cmp edx, eax
@@24: jnle @@30
@@26: cmp esi, eax
@@28: jnl @@34
@@30: xor ecx, ecx
@@32: jmp @@36
@@34: mov cl, $01
@@36: test cl, cl
@@38: jnz @@21
@@40: mov eax, ecx
@@42: pop esi
end;
Messages postés
718
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
22 novembre 2016
3
Merci FoXI pour toutes ses précisions. Je ferai gaffe à l'avenir, et il est vrai qu'il m'arrive d'utiliser While comme le Repeat..Until sans me poser de questions.
A l'avenir je devrai me méfier des conséquences du à ce genre de petits details plus souvent.

Sinon en terme de performance (calcul machine), sais tu s'il y à une différence entre un While et un Repeat ?
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
petite recommandation a elguevel, ne plus utiliser Repeat Until mais plutot While ... do

la boucle "Repeat until" execute au moins une fois l'instruction qu'elle contient, meme si la condition est fausse, ce qui peu provoquer des erreurs inattendues.

la boucle "While do" n'execute pas l'instruction qu'elle contient si la condition est fausse.

exemple :

result := '';
x := 1;
repeat
result := result + S[x];
inc(x);
until X > length(S);

erreur si S est vide (length(S) = 0), l'instruction serat executée au moins une fois, la condition ne peu que faire sortir de la boucle APRES l'instruction mais ne protege pas son accés.

result := '';
x := 1;
while X <= length(s) do begin
result := result + s[x];
inc(x);
end;

aucune erreur si S est vide (length(S) = 0), car la condition fausse empecheras d'aller a l'interieur de la boucle et egalement elle permet d'en sortir AVANT l'instruction.

pour obtenir un comportement similaire avec "Repeat Until" il faudrait tester avant la boucle la condition :

result := '';
x := 1;
if X <= Length(S) then
repeat
result := result + S[x];
inc(x);
until X > length(S);

while ne necessite donc pas de controller la condition avant son appel, ce qui est plus rapide et plus securisant.

d'une maniere plus generale, "Repeat Until" viens du monde du Pascal et tout comme le type "Object", on doit se mefier et bien reflechir avant son utilisation, voir ne pas les utiliser du tout.
Repeat Until serat donc remplacée systematiquement par While Do
et Object serat remplacé systematiquement par une Classe.

et dans le code, l'instruction While permet de connaitre immediatement la condition a respecter alors qu'avec repeat until il faudrat descendre dans le code pour connaitre cette fameuse condition, ce qui n'en facilite pas la lecture.

il faut donc oublier les conventions du Turbo Pascal au profit des conventions du Pascal Objet.
Afficher les 11 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.