Génération d'un mot de passe vérifiant certaines contraintes

Le
Aircamus
Bonjour à tous,

Je cherche un morceau de coe permettant de générer un mot de passe
alphanumérique selon les règles suivantes :

· Doit contenir ou moins une lettre minuscule

· Doit contenir ou moins une lettre majuscule

· Doit contenir ou moins un chiffre

· Doit contenir ou moins un caractère spécial (i.e. un
caractère faisant partie de la liste : &~"#?{([-|`_^@)]=}+°$£*µ%=
¨ !
§:/ ;., ?<>² )

Avez-vous une idée ?

Merci d'avance :-)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
captainpaf
Le #229639
Bonjour à tous,

Je cherche un morceau de coe permettant de générer un mot de passe
alphanumérique selon les règles suivantes :

· Doit contenir ou moins une lettre minuscule

· Doit contenir ou moins une lettre majuscule

· Doit contenir ou moins un chiffre

· Doit contenir ou moins un caractère spécial (i.e. un
caractère faisant partie de la liste : &~"#?{([-|`_^@)]=}+°$£*µ%¨ !
§:/ ;., ?<>² )

Avez-vous une idée ?

Merci d'avance :-)


Bonjour,

ça ne devrait pas être très compliqué.
Tu dois définir tes lettres, par exemple :
<code>
String lettres = "abcdefghijklmnopqrstuvwxyz"
String specialCar = "&~"..."
</code>
ou alors
<code>
private char[] lettres = {'a','b','c'/*...*/};
</code>
puis après tu définis 3 couples de chiffres Min et Max pour le nombre
de caractères souhaités minimum et maximum dans chaque catégorie
(minuscule,majuscule,spéciaux) pour ton mot de passe.

par exemple :
int minMAJ = 1;
int maxMAJ = 3;
int minMIN = 3;
int maxMIN = 7;
int minSPE = 1;
int maxSPE = 2;

après, il te suffit de générer 3 nombres aléatoires compris entre tes
valeurs minimum et maximum. Par exemple i,j,k.
Regarde du côté de la class java.util.Math pour les nombres aléatoires.
Enfin pour chaque catégorie, tu ajoutes i,j ou k fois la valeur trouvée
au hasard dans la catégorie.

voilà

Real Gagnon
Le #229637
Je cherche un morceau de coe permettant de générer un mot de passe
alphanumérique selon les règles suivantes :


Sur http://johannburkard.de/grabbag/ , regarde le source`de
PasswordTools.java

Bye.
--
Real Gagnon from Quebec, Canada
* Java, Javascript, VBScript and PowerBuilder code snippets
* http://www.rgagnon.com/howto.html
* http://www.rgagnon.com/bigindex.html

Aircamus
Le #229636
On 13 juil, 13:36, "captainpaf"
Bonjour à tous,

Je cherche un morceau de coe permettant de générer un mot de passe
alphanumérique selon les règles suivantes :

· Doit contenir ou moins une lettre minuscule

· Doit contenir ou moins une lettre majuscule

· Doit contenir ou moins un chiffre

· Doit contenir ou moins un caractère spécial (i.e. un
caractère faisant partie de la liste : &~"#?{([-|`_^@)]=}+°$£* µ%¨ !
§:/ ;., ?<>² )

Avez-vous une idée ?

Merci d'avance :-)


Bonjour,

ça ne devrait pas être très compliqué.
Tu dois définir tes lettres, par exemple :
<code>
String lettres = "abcdefghijklmnopqrstuvwxyz"
String specialCar = "&~"..."
</code>
ou alors
<code>
private char[] lettres = {'a','b','c'/*...*/};
</code>
puis après tu définis 3 couples de chiffres Min et Max pour le nombre
de caractères souhaités minimum et maximum dans chaque catégorie
(minuscule,majuscule,spéciaux) pour ton mot de passe.

par exemple :
int minMAJ = 1;
int maxMAJ = 3;
int minMIN = 3;
int maxMIN = 7;
int minSPE = 1;
int maxSPE = 2;

après, il te suffit de générer 3 nombres aléatoires compris entre tes
valeurs minimum et maximum. Par exemple i,j,k.
Regarde du côté de la class java.util.Math pour les nombres aléatoi res.
Enfin pour chaque catégorie, tu ajoutes i,j ou k fois la valeur trouv ée
au hasard dans la catégorie.

voilà


Merci pour cette réponse.
Cependant, je ne sais pas comment faire ce que tu dis. Est-ce que
quelqu'un aurait déjà un exemple de code qui fait cela ?

Je suis un incapable en Java...

Merci d'avance.


cfranco
Le #229616
Aircamus
Je cherche un morceau de coe permettant de générer un mot de passe
alphanumérique selon les règles suivantes :

· Doit contenir ou moins une lettre minuscule

· Doit contenir ou moins une lettre majuscule

· Doit contenir ou moins un chiffre

· Doit contenir ou moins un caractère spécial (i.e. un
caractère faisant partie de la liste : &~"#?{([-|`_^@)]=}+°$£*µ%¨ !
§:/ ;., ?<>" )

Avez-vous une idée ?


En suivant les préceptes de XP, la méthode la plus simple pour résoudre
le problème posé est :

public static String generatePassword() {
return "aA1&";
}

;-)


En d'autres termes, il manque encore d'autres critères pour bien définir
ce que tu souhaites faire...

--
Christophe Franco

Aircamus
Le #229612
On 14 juil, 11:42, (Christophe Franco) wrote:
Aircamus
Je cherche un morceau de coe permettant de générer un mot de passe
alphanumérique selon les règles suivantes :

· Doit contenir ou moins une lettre minuscule

· Doit contenir ou moins une lettre majuscule

· Doit contenir ou moins un chiffre

· Doit contenir ou moins un caractère spécial (i.e. un
caractère faisant partie de la liste : &~"#?{([-|`_^@)]=}+°$£* µ%¨ !
§:/ ;., ?<>" )

Avez-vous une idée ?


En suivant les préceptes de XP, la méthode la plus simple pour réso udre
le problème posé est :

public static String generatePassword() {
return "aA1&";

}

;-)

En d'autres termes, il manque encore d'autres critères pour bien défi nir
ce que tu souhaites faire...

--
Christophe Franco


Il faut que generatePassword prenne au hasard :
- au moins une lettre de [a-z]
- au moins une lettre de [A-Z]
- au moins un chiffre de [0-9]
- au moins un des caractères spéciaux.


Une autre contrainte su le mot de passe généré et qu'il doit être
d'une longueur comprise entre x et X. x et X seraient passés en
paramètre à generatePassword.

Par exemple on peut avoir besoin de créer un mot de passe d'une
longueur de 8 (x=8) à 10 (x) caractères avec :
- au moins une lettre de [a-z]
- au moins une lettre de [A-Z]
- au moins un chiffre de [0-9]
- au moins un des caractères spéciaux.

On obtiendrait alors par exemple au hasard 1#t5Ge{p ou aZe#5'])9 ou


Etant un débutant en Java (j'ai le niveau pour faire afficher Hello
World) je ne vois pas comment faire cela.

Merci d'avance


Aircamus
Le #229611
On 14 juil, 11:42, (Christophe Franco) wrote:
Aircamus
Je cherche un morceau de coe permettant de générer un mot de passe
alphanumérique selon les règles suivantes :

· Doit contenir ou moins une lettre minuscule

· Doit contenir ou moins une lettre majuscule

· Doit contenir ou moins un chiffre

· Doit contenir ou moins un caractère spécial (i.e. un
caractère faisant partie de la liste : &~"#?{([-|`_^@)]=}+°$£* µ%¨ !
§:/ ;., ?<>" )

Avez-vous une idée ?


En suivant les préceptes de XP, la méthode la plus simple pour réso udre
le problème posé est :

public static String generatePassword() {
return "aA1&";

}

;-)

En d'autres termes, il manque encore d'autres critères pour bien défi nir
ce que tu souhaites faire...

--
Christophe Franco


Il faudrait que generatePassword génére un passwd au hasard.

avec :

au moins une lettre de [a-z]
au moins une lettre de [A-Z]
au moins un chiffre de [0-9]
au moins un caractère spécial

Il faut également que le mot de passe généré soit d'une longueur
comprise entre x et X (x et X sont de paramètre passé à
generePassword.

generePassword(8,10) générerait alors au hasard par exemple :

a1[|eRs6
ou
1Zr5{yTdF
ou
|


cfranco
Le #229610
Aircamus
Il faut que generatePassword prenne au hasard :
- au moins une lettre de [a-z]
- au moins une lettre de [A-Z]
- au moins un chiffre de [0-9]
- au moins un des caractères spéciaux.


Une autre contrainte su le mot de passe généré et qu'il doit être
d'une longueur comprise entre x et X. x et X seraient passés en
paramètre à generatePassword.

Par exemple on peut avoir besoin de créer un mot de passe d'une
longueur de 8 (x=8) à 10 (x) caractères avec :
- au moins une lettre de [a-z]
- au moins une lettre de [A-Z]
- au moins un chiffre de [0-9]
- au moins un des caractères spéciaux.

On obtiendrait alors par exemple au hasard 1#t5Ge{p ou aZe#5'])9 ou


Etant un débutant en Java (j'ai le niveau pour faire afficher Hello
World) je ne vois pas comment faire cela.


Je crois qu'il manque encore (et surtout) un critère sur l'aspect
"hasard" de l'algorithme, et en particulier sur sa non-prédictabilité...
Je sais que ça peut paraître évident, mais d'un point de vue
algorithmique ça ne l'est pas forcément.

--
Christophe Franco

TestMan
Le #229607
On 14 juil, 11:42, (Christophe Franco) wrote:
Aircamus
Je cherche un morceau de coe permettant de générer un mot de passe
alphanumérique selon les règles suivantes :
· Doit contenir ou moins une lettre minuscule
· Doit contenir ou moins une lettre majuscule
· Doit contenir ou moins un chiffre
· Doit contenir ou moins un caractère spécial (i.e. un
caractère faisant partie de la liste : &~"#?{([-|`_^@)]=}+°$£*µ%¨ !
§:/ ;., ?<>" )
Avez-vous une idée ?
En suivant les préceptes de XP, la méthode la plus simple pour résoudre

le problème posé est :

public static String generatePassword() {
return "aA1&";

}

;-)

En d'autres termes, il manque encore d'autres critères pour bien définir
ce que tu souhaites faire...

--
Christophe Franco


Il faudrait que generatePassword génére un passwd au hasard.

avec :

au moins une lettre de [a-z]
au moins une lettre de [A-Z]
au moins un chiffre de [0-9]
au moins un caractère spécial

Il faut également que le mot de passe généré soit d'une longueur
comprise entre x et X (x et X sont de paramètre passé à
generePassword.

generePassword(8,10) générerait alors au hasard par exemple :

a1[|eRs6
ou
1Zr5{yTdF
ou
|


Bonjour,

Jettez un oeil à :
http://ostermiller.org/utils/RandPass.html

Par exemple en implémentant votre propre classe PasswordVerifier qui
testera vos contraintes précises via une expression réguliere
correspondante, et l'assignerez au RandPass pour qu'il serve de filtre ;-)

A+

TM



Arnaud W.
Le #229579
Avez-vous une idée ?




Voici un exemple fait en 5 minutes (sans utiliser de librairies
externes) :
http://cjoint.com/?hslkuySWJZ (disponible pendant 21 jours)
(ce n'est peut être pas optimisé, mais ca marche)

Pour simplement tester la robustesse d'un mot de passe, j'avais fait
ca il y a quelques années :
http://awr.free.fr/java/crypto.html#PasswordChecker

Cordialement,
Arnaud W.
http://awr.free.fr



Aircamus
Le #229578
On 16 juil, 16:02, (Christophe Franco) wrote:
Aircamus
Il faut que generatePassword prenne au hasard :
- au moins une lettre de [a-z]
- au moins une lettre de [A-Z]
- au moins un chiffre de [0-9]
- au moins un des caractères spéciaux.

Une autre contrainte su le mot de passe généré et qu'il doit êt re
d'une longueur comprise entre x et X. x et X seraient passés en
paramètre à generatePassword.

Par exemple on peut avoir besoin de créer un mot de passe d'une
longueur de 8 (x=8) à 10 (x) caractères avec :
- au moins une lettre de [a-z]
- au moins une lettre de [A-Z]
- au moins un chiffre de [0-9]
- au moins un des caractères spéciaux.

On obtiendrait alors par exemple au hasard 1#t5Ge{p ou aZe#5'])9 ou


Etant un débutant en Java (j'ai le niveau pour faire afficher Hello
World) je ne vois pas comment faire cela.


Je crois qu'il manque encore (et surtout) un critère sur l'aspect
"hasard" de l'algorithme, et en particulier sur sa non-prédictabilité ...
Je sais que ça peut paraître évident, mais d'un point de vue
algorithmique ça ne l'est pas forcément.

--
Christophe Franco


J'ai envie de répondre peu importe :-)
Je ne vois pas ce que veut dire la non-prédictabilité. Si le passwd
est généré au hasard on ne pas prédire ce qu'il sera ?


Publicité
Poster une réponse
Anonyme