Générateur aléatoire de mot sde passe
Fermé
cengokill
Messages postés
252
Date d'inscription
dimanche 27 mai 2012
Statut
Membre
Dernière intervention
19 décembre 2022
-
29 juin 2015 à 10:36
VanDog Messages postés 63 Date d'inscription vendredi 17 juillet 2015 Statut Membre Dernière intervention 11 février 2016 - 18 juil. 2015 à 01:06
VanDog Messages postés 63 Date d'inscription vendredi 17 juillet 2015 Statut Membre Dernière intervention 11 février 2016 - 18 juil. 2015 à 01:06
A voir également:
- Générateur aléatoire de mot sde passe
- Generateur mot de passe - Télécharger - Sécurité
- Voir mot de passe wifi android - Guide
- Mot de passe - Guide
- Trousseau mot de passe iphone - Guide
- Mot de passe administrateur - Guide
1 réponse
VanDog
Messages postés
63
Date d'inscription
vendredi 17 juillet 2015
Statut
Membre
Dernière intervention
11 février 2016
13
Modifié par Whismeril le 7/08/2015 à 23:16
Modifié par Whismeril le 7/08/2015 à 23:16
Je vais tenter de te dégager ton programme comme je le ferai et dans les grandes lignes d'accord ?
Tu as une phase de saisie qui retient combien de char tu veux. Appelons cette variable
Tu as besoin d'un
Tu auras une boucle
Pour ceci, je te conseille l'utilisation du code ASCII (
En sachant que dans le code ASCII, les lettres MAJUSCULES précèdent les lettres minuscules et sont consécutives. Le char 'A' a pour valeur 65 ce me semble. Ce qui fait que si tu fais
Dès lors, tu peux ajouter une lettre facilement par transtypage:
Je passe par des variables pour pas de donner de fausses valeurs entières (à la 65 donnée précédemment... :p ).
Après, plutôt qu'un simple rand() tu peux affiner tes critères, une majuscule une lettre sur deux, rajouter les chiffres pour un mot de passe alphanumérique... à toi de t'amuser avec la table ASCII :)
Edit suppression de la signature contraire à la charte
Tu as une phase de saisie qui retient combien de char tu veux. Appelons cette variable
nChar.
Tu as besoin d'un
std::string res, le résultat.
Tu auras une boucle
for de 0 à nCharqui ajoutera un caractère aléatoire à res.
Pour ceci, je te conseille l'utilisation du code ASCII (
https://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters)
En sachant que dans le code ASCII, les lettres MAJUSCULES précèdent les lettres minuscules et sont consécutives. Le char 'A' a pour valeur 65 ce me semble. Ce qui fait que si tu fais
std::cout << (int)'A'tu obtiendras 65.
Dès lors, tu peux ajouter une lettre facilement par transtypage:
/* Il y a 26 lettres dans l'alphabet, tu as l'ensemble des MAJ et des min, donc 2*26 de longueur. Je te propose donc : */ int start = (int)'A'; // transtypage explicite int end = (int)'z'; // transtypage explicite int length = end - start; res += (char) ( start + rand() % length * 2 )
Je passe par des variables pour pas de donner de fausses valeurs entières (à la 65 donnée précédemment... :p ).
Après, plutôt qu'un simple rand() tu peux affiner tes critères, une majuscule une lettre sur deux, rajouter les chiffres pour un mot de passe alphanumérique... à toi de t'amuser avec la table ASCII :)
Edit suppression de la signature contraire à la charte