Voici l'expression régulière .NET que j'utilise pour créer un mot de passe (qui ne correspond pas à mes exigences de mot de passe du projet):Expression régulière .NET pour créer mot de passe fort
(?=^.{15,25}$)(\d{2,}[a-z]{2,}[A-Z]{2,}[[email protected]#$%&+~?]{2,})
exigences de mot de passe:
- minimum 15 caractères (jusqu'à 25)
- Deux numéros
- Deux lettres majuscules
- Deux lettres Minuscules
- Deux caractères spéciaux
! @ # $ % & + ~ ?
Ils ne sont pas tenus d'être à côté de l'autre & dans l'ordre spécifique l'expression régulière que je collais exige.
ci-dessus Expression régulière nécessite un mot de passe comme ceci: 12abCD @QWertyP
Il leur demande dans l'ordre spécifique dans le RE ... qui est pas ce que je veux!
Cela devrait passer un RE correctement formaté avec les spécifications ci-dessus: Qq1W w2Ee # 3Rr4 @ TT5
Comment puis-je supprimer la nécessité pour eux d'être à côté les uns des autres et pour ?? Évidemment le mot de passe devrait être aléatoire si la personne le choisit.
Pourquoi la limite supérieure de 25 caractères? Vous ne le stockez nulle part, n'est-ce pas? –
Désolé pour chitchat mais ne serait pas plus intelligent pour choisir la longueur minimale du mot de passe basée sur "entropy". Par exemple - lowcase ou upcase 40 caractères, les letters inférieur et supérieur 30, upcase + lowcase + numbesr 25, tous les caractères imprimables 15 caractères minimum. Personnellement, je déteste quand je dois cesser de telles restrictions. –
Je suis d'accord avec les autres réponses upvoted, ce n'est pas un bon ajustement pour une regex –