N-PN White-Hat Project
[C] generateur de mot de passe - Version imprimable

+- N-PN White-Hat Project (https://dev.n-pn.fr/forum)
+-- Forum : Programmation (https://dev.n-pn.fr/forum/forumdisplay.php?fid=72)
+--- Forum : Langages compilés (https://dev.n-pn.fr/forum/forumdisplay.php?fid=25)
+--- Sujet : [C] generateur de mot de passe (/showthread.php?tid=2792)



[C] generateur de mot de passe - Creepy_p0ney - 12-03-2013




RE: [C] generateur de mot de passe - Luxerails - 12-03-2013

Code C :
car=(rand() % (126-33+1))+33; // generation du caractère, je sais pas trop comment fonctionne cette fonction, mais ça viendra


rand() -> nombre pseudo-aléatoire
% (126-33+1) -> modulo 94 pour avoir un nombre entre 0 et 93
+33 pour avoir un nombre entre 33 et 126
Bref, un caractère ascii entre 33 et 126, là dedans :
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
(ceux en dessous de 32 sont des caractères non-affichables)


RE: [C] generateur de mot de passe - Sh4dows - 12-03-2013

Merci du partage Smile

En ce qui concerne rand(), son utilisation est simple.
Comme tu l'as fais il faut l'initialiser avec :
Code C :

srand(time(NULL));
 


Ensuite si l'on veut rand un nombre en 0 et n exclu, il suffit de faire un modulo de rand :
Code C :

int r;
srand(time(NULL));
r = rand() % 10;
 


Puis si l'on veut random un nombre en 2 valeurs, la seconde exclu, il suffit de faire ceci :
Code C :

int r, n1 = 10, n2 = 100;
r = rand() % (n1 - n2) + n2;
 


Enfin rand est tout de même particulier, sir le SDZ (http://www.siteduzero.com/informatique/tutoriels/l-aleatoire-en-c-et-c-se-servir-de-rand-1) c'est plutôt bien expliqué Smile


RE: [C] generateur de mot de passe - Creepy_p0ney - 12-03-2013

Merci beaucoup :p j'avais vu cette fonction dans le tuto du sdz, au plus ou moins, mais à l'epoque tout debutant que j'etais j'avais pas cherché à comprendre ce qui se cachait derrière.