Yop
Hyper simple si vous utilisez ce code :
public string CreatePassword(int length) { const string valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; StringBuilder res = new StringBuilder(); Random rnd = new Random(); while (0 < length--) { res.Append(valid[rnd.Next(valid.Length)]); } return res.ToString(); }
Puis ensuite il vous suffit d’appeler votre fonction pour générer votre mdp
le int length représente le nombre de caractère que vous souhaitez assigner à votre code
Exemple : vous souhaitez un mdp à 10 caractères
string Password = CreatePassword(10);
et si vous voulez affichez votre mdp dans un popup :
string Password = CreatePassword(10); MessageBox.Show("INFO",Password ,MessageBoxIcon.Information,MessageBoxButtons.OK)
Version plus Élaborée : imaginons que vous ayez besoin que votre password contienne minimum 3 Majuscules , 2 Chiffres et un caractère spécial sur une longueur de 12 caractères
public string CreatePassword(int length , int NBRMAJ , int NBRCHIFFRE , int NRBSPE) { const string validMIN = "abcdefghijklmnopqrstuvwxyz"; const string validMAJ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; const string validCHIFFRE = "1234567890"; const string validSPE = "!+-$%(),"; int CompteurMin = 0; int CompteurMaj = 0; int CompteurNRBCHIFFRE = 0; int CompteurNRBSPE = 0; int LongueurMDP = length; StringBuilder res = new StringBuilder(); Random rnd = new Random(); while ((CompteurMaj == NBRMAJ) == false && (CompteurNRBCHIFFRE == NBRCHIFFRE) == false && (CompteurNRBSPE == NRBSPE) == false) { while (0 < LongueurMDP--) { int random = rnd.Next(1, 5); switch (random) { case 1: if (CompteurMin < length) { res.Append(validMIN[rnd.Next(validMIN.Length)]); CompteurMin = CompteurMin + 1; } break; case 2: if (CompteurMaj < NBRMAJ) { res.Append(validMAJ[rnd.Next(validMAJ.Length)]); CompteurMaj = CompteurMaj + 1; } break; case 3: if (CompteurNRBCHIFFRE < NBRCHIFFRE) { res.Append(validCHIFFRE[rnd.Next(validCHIFFRE.Length)]); CompteurNRBCHIFFRE = CompteurNRBCHIFFRE + 1; } break; case 4: if (CompteurNRBSPE < NRBSPE) { res.Append(validSPE[rnd.Next(validSPE.Length)]); CompteurNRBSPE = CompteurNRBSPE + 1; } break; }; if (LongueurMDP == 0) { if (res.Length < length) { LongueurMDP = LongueurMDP + 1; } } } } return res.ToString(); }
Du coup vous appelez votre méthode ainsi :
string Password= CreatePassword(12, 3, 2, 1);
- 1er paramètre la longueur du password
- 2ème , le nombre de Majuscule souhaité
- 3ème , le nombre de chiffre souhaité
- 4ème , le nombre de caractère spécial souhaité