Uims
Messages postés101Date d'inscriptionvendredi 16 juillet 2004StatutMembreDernière intervention31 octobre 2006
-
13 mai 2006 à 19:14
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
14 mai 2006 à 13:46
Bonjour
Je suis entrain de faire un générateur de mot de passe, j'ai décider de tirer aléatoirement 8 chiffres.
Il y a :
int chiffre1;
int chiffre2;
...
int chiffre8;
Mais comment mettre tous ces chiffres dans un int password comme avec strcat pour les char????
nightlord666
Messages postés746Date d'inscriptionvendredi 17 juin 2005StatutMembreDernière intervention23 mai 200710 13 mai 2006 à 19:30
Tu passe par des chaines intermédiaires avec atoi et itoa, ou tu effectue des décalcages de bits je pense.
(tu a exactement le même avatar que vecchio, j'ai cru que c'était lui ^^).
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 13 mai 2006 à 23:10
int password??? C'est quoi ça.
Si tu veut dire int, c'est assez risqué de faire un password avec un int car la valeur maximal est 4294967295(32Bits (0xFFFFFFFF Hexa)). J'imagine que tu veut concatener le resultat dans un seul int? Si tu veut faire comme ça, il est impossible de dépasser 4294967295.
Par exemple, dison que tu tire 8 chiffres
les trois premier sont 1
les trois suivant sont 2
le 7eme est 6
et le dernier est 8.
En "concaténant" tout ça on obtien 86222111. Bang. C'est trop élevé. Je te conseille vivement de faire ce mot de passe dans un tableau char (ou int mais il sera plus gros en octect) car comme ça, il pourra accepter autant de valeur que le tableau peu en contenir. Pour comparer le tableau char, tu utilise strcmp.
Corrigez moi si je fais fausse route mais c'est ce que je comprend de sa question.
___________________________________________
Les plus grands esprits trouvent toujours une solution
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 13 mai 2006 à 23:43
Ok je comprend. Ne te fis pas à l'exemple que j'ai mit en haut. Je crois que je me suis mêlé avec l'hexadecimal (J'ai passé ma journée la dessus). Pour 8 chiffres dans un int ça peut marcher mais attention si tu dépasse les 8 chiffres.
___________________________________________
Les plus grands esprits trouvent toujours une solution
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 14 mai 2006 à 13:46
ben si on est certain que ce sont 8 chiffres entre 0 et 9 aklors pas besoin de cette calamité de sprintf ni d'aucune autre fonction.
buffer[0] = chfr1 + 48;
buffer[1] = chfr2 + 48;
buffer[2] = chfr3 + 48;
....
....
buffer[8] = 0; // FIN DE CHAINE