GÉNÉRATEUR DE MOTS DE PASSES ALÉATOIRES DE LONGUEUR PARAMÉTRABLE
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 2016
-
9 mars 2008 à 14:52
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 2016
-
9 avril 2011 à 16:45
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 9 avril 2011 à 16:45
Hahaha et me voilà, plus de trois ans plus tard, devant ma première source CS (enfin, pas vraiment, mais bon). J'ai honte de ce code ! Mais quels souvenirs ... c'est assez merveilleux.
:)
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 18 mars 2008 à 18:06
Bonjour,
Phildenice tu pars du principe que tout le monde sait ce que signifie un "hash MD5" ...
C'est peut-être très simple, mais pourrais-tu me dire de quoi il s'agit ? ... Merci
Sinon oui on peut améliorer cette source, c'était juste un essai pour m'entrainer avec les arrays, et les boucles "for - do", et comme elle marchait pas mal, je me suis dit que j'allais la mettre ici pour en faire profiter toute la communauté :p
Viva Code-Sources lol !
Cordialement, Bacterius !
phildenice
Messages postés1Date d'inscriptionmardi 10 janvier 2006StatutMembreDernière intervention17 mars 2008 17 mars 2008 à 10:17
Si ta fonction sert à mettre un mot de passe sur tes fichiers ou ton ordi, ok (cf Cirec et John Dogget).
Si tu veux en faire un keygen pour diffuser un user/password à des clients de ton application shareware, alors il faudrait y ajouter encore :
- la prise en compte éventuelle des caractères de contrôle (@, _, * ...)
- un hash MD5 par exemple du nom/email de l'utilisateur comme base du random ...
A+
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 11 mars 2008 à 00:56
Moi pas 'tantplié' mais juste un 'peuplié'...
BIVER: Le SMS n'est pas le bienvenu sur les sites CS, tu peux lire et poster gratuitement donc rien ne peut justifier l'économie d'octet.
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 9 mars 2008 à 22:11
CS, merci pour ta source je la garde dans un petit fichier texte sur mon bureau, elle contient pas mal d'infos, mais me faudra du temps pour décortiquer tout ca :)
Et quand à laisser tomber l'array pour plutot remplir une chaîne simple, ca m'est venu à l'idée avec le message de John Dogget, mais j'étais fatigué :x
Merci beaucoup tout le monde :)
PS : Biver essaye de te procurer un delphi, ou un C++ ou quelque chose avant d'essayer de programmer :s
// Pour appeller la fonction :
Function GetRandomPassWordEx(Const Len: Integer = 8): String;
Function GetRandomPassWordEx(Const Len: Integer): String;
Var
ActualNum: Integer;
I: Integer;
Begin
Randomize;
SetLength(Result, Len);
for I := 1 to Len do
begin
ActualNum := Random(62);
Case ActualNum Of
0..9 : Result[I] := Chr(ActualNum + 48);
10..35: Result[I] := Chr(ActualNum + 87);
36..61: Result[I] := Chr(ActualNum + 29);
End;
End;
End;
//Exemple d'appel
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := GetRandomPassWordEx; // gerere un mot de 8 caractères
Label2.Caption := GetRandomPassWordEx(18); // gerere un mot de 18 caractères
end;
Du coup le code suffit juste pour le poster dans les Snippets et plus dans les codes
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 9 mars 2008 à 19:56
Ah ok :s
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 9 mars 2008 à 18:41
Bacterius :
C'était un remplissage automatique auquel je faisais allusion et non à la mano..
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 9 mars 2008 à 18:25
Oui mais *leve le doigt* ... *reflechit* ...
...
non rien merci John Dogget :)
:p
A bientôt
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 9 mars 2008 à 17:03
Bonjour, Cantador je ne comprends pas très bien, j'ai bien rempli le tableau avec la boucle située à la ligne 16 non ? Ce que je voudrais savoir faire c'est comment faire pour regler l'étendue du tableau CharArray avec [1..Len]... J'ai essayé et le compilateur me dit "Expression constante attendue"...
A bientôt !
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 9 mars 2008 à 15:32
Tu devrais pouvoir écrire une boucle pour remplir
le tableau CharArray.
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 9 mars 2008 à 14:52
Bon ok le source n'est pas très commenté, mais le principe est assez simple et compréhensif :)
A bientôt !
9 avril 2011 à 16:45
:)
18 mars 2008 à 18:06
Phildenice tu pars du principe que tout le monde sait ce que signifie un "hash MD5" ...
C'est peut-être très simple, mais pourrais-tu me dire de quoi il s'agit ? ... Merci
Sinon oui on peut améliorer cette source, c'était juste un essai pour m'entrainer avec les arrays, et les boucles "for - do", et comme elle marchait pas mal, je me suis dit que j'allais la mettre ici pour en faire profiter toute la communauté :p
Viva Code-Sources lol !
Cordialement, Bacterius !
17 mars 2008 à 10:17
Si tu veux en faire un keygen pour diffuser un user/password à des clients de ton application shareware, alors il faudrait y ajouter encore :
- la prise en compte éventuelle des caractères de contrôle (@, _, * ...)
- un hash MD5 par exemple du nom/email de l'utilisateur comme base du random ...
A+
11 mars 2008 à 00:56
BIVER: Le SMS n'est pas le bienvenu sur les sites CS, tu peux lire et poster gratuitement donc rien ne peut justifier l'économie d'octet.
9 mars 2008 à 22:11
Et quand à laisser tomber l'array pour plutot remplir une chaîne simple, ca m'est venu à l'idée avec le message de John Dogget, mais j'étais fatigué :x
Merci beaucoup tout le monde :)
PS : Biver essaye de te procurer un delphi, ou un C++ ou quelque chose avant d'essayer de programmer :s
9 mars 2008 à 21:45
// Pour appeller la fonction :
Function GetRandomPassWordEx(Const Len: Integer = 8): String;
Function GetRandomPassWordEx(Const Len: Integer): String;
Var
ActualNum: Integer;
I: Integer;
Begin
Randomize;
SetLength(Result, Len);
for I := 1 to Len do
begin
ActualNum := Random(62);
Case ActualNum Of
0..9 : Result[I] := Chr(ActualNum + 48);
10..35: Result[I] := Chr(ActualNum + 87);
36..61: Result[I] := Chr(ActualNum + 29);
End;
End;
End;
//Exemple d'appel
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := GetRandomPassWordEx; // gerere un mot de 8 caractères
Label2.Caption := GetRandomPassWordEx(18); // gerere un mot de 18 caractères
end;
Du coup le code suffit juste pour le poster dans les Snippets et plus dans les codes
9 mars 2008 à 19:56
9 mars 2008 à 18:41
C'était un remplissage automatique auquel je faisais allusion et non à la mano..
9 mars 2008 à 18:25
...
non rien merci John Dogget :)
:p
A bientôt
9 mars 2008 à 17:03
A bientôt !
9 mars 2008 à 15:32
le tableau CharArray.
9 mars 2008 à 14:52
A bientôt !