C'est parfaitement possible avec une regex.
Cependant, ça n'est pas optimisé.
Admettons que tu doives générer 100 mots de passe.
T'en fais donc 100.
Ensuite tu les relis tous et tu en vires 38.
Tu en refais 38.
Tu les relis tous et tu en vires 7.
etc...
Bref autant générer tout de suite un mot de au bon format.
Voila deux principes pour un mot de passe "sans doublon":
- 1
- Tu crées une collection de départ, avec chaque valeur possible (si tu autorises deux 'A' alors il sera présent deux fois dans la collection).
- Tu "tires" aléatoirement un index.
- Tu enlèves l'item situé à l'index en question et tu le mets dans la collection résultat.
- Et ainsi de suite.
- 2
- Tu crées la même collection de départ.
- Tu la mélanges
- Tu prends les n premiers items de la collection mélangée.
Et le code du principe 2
private string GenereMDP()
{
List<char> liste = new List<char> { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };//collection de départ
IEnumerable<char> melange = liste.OrderBy(x => new Guid());//melange la liste en fonction d'un truc complétement aléatoire le GUID
return string.Join("", melange.Take(12));//construit et retourne un string en joignant les 12 premiers éléments de melange avec "" comme séparateur.
}
j'ai du mal m'exprimer, je debute en c# et sur le forum aussi :
-c'est pour Plusieurs caractères indentiques dans une même ligne.
et contrôler tout les mots de passes qui auront été générés dans le fichier (SerialNum.txt, qui exeste déjà ... )
Il faut que je puisse contrôler le ficher txt qui aura été crée avant de l'ouvrir.
Eliminer les lignes :
0101010101010 (plusieurs 0 et 1 ligne à suprimer le vide qu'elle laisse)
...X ligne
001A1A1A1A1A (plusieurs 1 et A ligne à suprime le vide qu'elle laisser)
...X ligne
0C28DE68C6F0A (on conserve)
...X ligne
0C281E60C9F0A (on conserve )
...X ligne
EEEEAAAA45555 (plusieurs E, A et 5 ligne à suprimer le vide qu'elle laisse)
...X lignes
0E454EFFE75E0E (plusieurs E ligne à suprimer le vide qu'elle laisse)
Mon but et d'autoriser maximum de 3, 4, 5 chiffre ou lettre identique dans le mot de passe.
Le top serais que ca ma donne en meme temp le nombre total de ligne contenues dans le fichier TXT !
Mais ca, je verrais après...
Bonne après midi.