Robustesse mot de passe - Help
Tom1494
Messages postés
2
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je cherche à écrire un programme permettant de calculer la robustesse d'un mot de passe :
-Composé de min 8 caractères et d'au moins 20 caractères
-Peut contenir des lettres alpha a-z / A/Z, des chiffres 0-9 et sept caractères spéciaux (_)$!
-Ne doit pas commencer par un chiffre
-Doit contenir que les caractères ci dessus.
Ensuite analyser sa robustesse :
-Excellent : le mot de passe contient au moins une lettre maj, une lettre minuscule, un chiffre et un caract spécial
-Bon : le mot de passe contient des lettres avec des chiffres ou bien des lettres avec des caractères spéciaux
-Faible : Tous les autres cas
Programme devra être écrit :
"Donnez un mot de passe d'au moins 8 caractères :
YJK$)#1i
validité : ok
robustesse : Excellente
je n'arrive pas à considérer le mot de passe comme une chaîne de caractères (tableau de caractères) et le parcourir avec un index pour examiner la nature de chacun des caractères.
J'ai ça pour le moment :
function estMajuscule(c)
{
if (c>='A' && c<='Z') return true;
else return false;
}
Un grand merci pour votre aide
Je cherche à écrire un programme permettant de calculer la robustesse d'un mot de passe :
-Composé de min 8 caractères et d'au moins 20 caractères
-Peut contenir des lettres alpha a-z / A/Z, des chiffres 0-9 et sept caractères spéciaux (_)$!
-Ne doit pas commencer par un chiffre
-Doit contenir que les caractères ci dessus.
Ensuite analyser sa robustesse :
-Excellent : le mot de passe contient au moins une lettre maj, une lettre minuscule, un chiffre et un caract spécial
-Bon : le mot de passe contient des lettres avec des chiffres ou bien des lettres avec des caractères spéciaux
-Faible : Tous les autres cas
Programme devra être écrit :
"Donnez un mot de passe d'au moins 8 caractères :
YJK$)#1i
validité : ok
robustesse : Excellente
je n'arrive pas à considérer le mot de passe comme une chaîne de caractères (tableau de caractères) et le parcourir avec un index pour examiner la nature de chacun des caractères.
J'ai ça pour le moment :
function estMajuscule(c)
{
if (c>='A' && c<='Z') return true;
else return false;
}
Un grand merci pour votre aide
A voir également:
- Robustesse mot de passe - Help
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
- Voir mot de passe wifi android - Guide
3 réponses
Bonsoir
t'es sûr? c'est pas plutôt 20 maximum?
Je ne code pas en JavaScript, mais quelque soit le langage tu peux faire ça avec des Regex.
Voir un exemple ici
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Composé de min 8 caractères et d'au moins 20 caractères
t'es sûr? c'est pas plutôt 20 maximum?
Je ne code pas en JavaScript, mais quelque soit le langage tu peux faire ça avec des Regex.
Voir un exemple ici
http://regexstorm.net/tester?p=%28%3f%3d.*%5ba-z%5d%29%28%3f%3d.*%5bA-Z%5d%29%28%3f%3d.*%5cd%29%28%3f%3d.*%5b_%26%5c%23%5c%28%5c%29%5c%24!%5d%29%5e%5ba-z%5d%7c%5bA-Z%5d%5b%5cw%26%5c%23%5c%28%5c%29%5c%24!%5d%7b7%2c19%7d%24&i=Addfghf1_
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
J'ai avancer de mon côté mais je rencontre des pbl, je n'arrive pas à déterminer mes caractères spéciaux : interdits et autorisés et surtout je n'arrive pas à faire afficher ma fonction sur la robustesse ! Des avis? des conseils ?
Voici pour le moment mon code :
<HTML>
<HEAD>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<TITLE>Robustesse du mot de passe</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="Javascript">
var mdp = prompt("Entrer votre mot de passe");
var isNum=0;
var isMaj=0;
var isSpe=0;
var isMin=0;
var isAccent=0;
var i="Robustesse du mot de passe";
var mdp1=mdp.substr(0,1);
document.write("Donner un mot de passe d'au moins 8 caractères")
while (mdp.length<8) {
mdp=prompt("votre mot de passe doit contenir au moins 8 caractères");
}
while (mdp.length>20) {
mdp=prompt("votre mot de passe ne doit pas contenir plus de 20 caractères");
}
while (mdp1>='0' && mdp1<='9') {
mdp=prompt("votre mot de passe ne peut pas commencer par un chiffre");
}
//function caracteresinterdits(mdp)
//{
// if (mdp == 'Â' || mdp == 'Ã' || mdp == 'Ä' || mdp == 'À' || mdp == 'Á' || mdp == 'Å' || mdp == 'Æ' || mdp == 'Ç' || mdp == 'È' || mdp == 'É' || mdp == 'Ê' || mdp == 'Ë' || mdp == 'Ì' || mdp == 'Í' || mdp == 'Î' || mdp == 'Ï' || mdp == 'Ð' || mdp == 'Ñ' || mdp == 'Ò' || mdp == 'Ó' || mdp == 'Ô' || mdp == 'Õ' || mdp == 'Ö' || mdp == 'Ø' || mdp == 'Ù' || mdp == 'Ú' || mdp == 'Û' || mdp == 'Ü' || mdp == 'Ý' || mdp == 'Þ' || mdp == 'ß' || mdp == 'à' || mdp == 'á' || mdp == 'â' || mdp == 'ã' || mdp == 'ä' || mdp == 'å' || mdp == 'æ' || mdp == 'ç' || mdp == 'è' || mdp == 'é' || mdp == 'ê' || mdp == 'ë' || mdp == 'ì' || mdp == 'í' || mdp == 'î' || mdp == 'ï' || mdp == 'ð' || mdp == 'ñ' || mdp == 'ò' || mdp == 'ó' || mdp == 'ô' || mdp == 'õ' || mdp == 'ö' || mdp == 'ø' || mdp == 'ù' || mdp == 'ú' || mdp == 'û' || mdp == 'ü' || mdp == 'ý' || mdp == 'þ' || mdp == 'ÿ' || mdp == '%' || mdp == '\\' || mdp == '*' || mdp == '+' || mdp == ',' || mdp == '-' || mdp == '.' || mdp == '/' || mdp == ':' || mdp == ';' || mdp == '<' || mdp == '=' || mdp == '>' || mdp == '?' || mdp == '@' || mdp == '[' || mdp == '\\' || mdp == '\'' || mdp == ']' || mdp == '^' || mdp == '{' || mdp == '|' || mdp == '}' || mdp == '~' || mdp == '@' || mdp == '"' || mdp == '')
// return nbcaraspe=nbcaraspe+1 ;
// else
// return nbcaraspe=nbcaraspe+0;
//}
while (mdp == 'Â' || mdp == 'Ã' || mdp == 'Ä' || mdp == 'À' || mdp == 'Á' || mdp == 'Å' || mdp == 'Æ' || mdp == 'Ç' || mdp == 'È' || mdp == 'É' || mdp == 'Ê' || mdp == 'Ë' || mdp == 'Ì' || mdp == 'Í' || mdp == 'Î' || mdp == 'Ï' || mdp == 'Ð' || mdp == 'Ñ' || mdp == 'Ò' || mdp == 'Ó' || mdp == 'Ô' || mdp == 'Õ' || mdp == 'Ö' || mdp == 'Ø' || mdp == 'Ù' || mdp == 'Ú' || mdp == 'Û' || mdp == 'Ü' || mdp == 'Ý' || mdp == 'Þ' || mdp == 'ß' || mdp == 'à' || mdp == 'á' || mdp == 'â' || mdp == 'ã' || mdp == 'ä' || mdp == 'å' || mdp == 'æ' || mdp == 'ç' || mdp == 'è' || mdp == 'é' || mdp == 'ê' || mdp == 'ë' || mdp == 'ì' || mdp == 'í' || mdp == 'î' || mdp == 'ï' || mdp == 'ð' || mdp == 'ñ' || mdp == 'ò' || mdp == 'ó' || mdp == 'ô' || mdp == 'õ' || mdp == 'ö' || mdp == 'ø' || mdp == 'ù' || mdp == 'ú' || mdp == 'û' || mdp == 'ü' || mdp == 'ý' || mdp == 'þ' || mdp == 'ÿ' || mdp == '%' || mdp == '\\' || mdp == '*' || mdp == '+' || mdp == ',' || mdp == '-' || mdp == '.' || mdp == '/' || mdp == ':' || mdp == ';' || mdp == '<' || mdp == '=' || mdp == '>' || mdp == '?' || mdp == '@' || mdp == '[' || mdp == '\\' || mdp == '\'' || mdp == ']' || mdp == '^' || mdp == '{' || mdp == '|' || mdp == '}' || mdp == '~' || mdp == '@' || mdp == '"' || mdp == '')
{ mdp=prompt("Votre mot de passe contient un caractère spécial non-autorisé, autorisé : (_)$!");
}
if ((mdp.length>8) || (mdp.length<20) || (mdp1<='0' && mdp1>='9')) document.write("Validité : Ok");
//DEMANDER AU PROF POUR MdP1 0 9
// if (MdP.length<8 || MdP.length>20 || MdP1>='0' && MdP1<='9') document.write("votre mot de passe est valide")
function getMaj(mdp, isMaj)
{
var maj = /^[A-Z]/;
if (c>='A' && c<='Z')
{
return isMaj=isMaj+1;
}
else return isMaj=isMaj+0;
}
function getNumber(mdp, isNum)
{
var number = /^[0-9]/;
if (number.test(mdp))
{
return isNum=isNum+1;
}
else return isNum=isNum+0;
}
function getAccents(mdp, isAccent)
{
var accent = "ÂÃÄÀÁÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ"
var check = 0;
for (var i = 0; i < accent.length; i++)
{
if (mdp == accent[i])
{
check = 1;
}
}
if (check == 1)
{
return isAccent=isAccent+1;
}
else return isAccent=isAccent+0;
}
function getSpecialChar(mdp, isSpe)
{
var special = '(_)$!';
var check = 0;
for (var i = 0; i < special.length; i++)
{
if (mdp == special[i])
{
check = 1;
}
}
if (check == 1)
{
return isSpe=isSpe+1;
}
else return isSpe=isSpe+0;
}
function finalTest(isNum, isAccent, isMaj, isSpe, mdp)
{
var valid = 0;
var retours = [isSpe, isNum, isAccent, isMaj];
console.log(mdp);
console.log(isNum + " chiffres");
console.log(isAccent + " accents");
console.log(isMaj + " majuscules");
console.log(isSpe + " special");
for (var i = 0; i < retours.length; i++)
{
if (retours[i] > 0)
{
valid++;
}
}
if (valid == 2)
{
document.write("securité moyenne");
}
else if (valid == 4)
{
document.write("sécurité forte");
}
else if(valid == 0)
{
document.write("sécurité faible");
}
else
{
document.write("autre sécurité");
}
}
</SCRIPT>
</BODY>
</HTML>
Voici pour le moment mon code :
<HTML>
<HEAD>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<TITLE>Robustesse du mot de passe</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="Javascript">
var mdp = prompt("Entrer votre mot de passe");
var isNum=0;
var isMaj=0;
var isSpe=0;
var isMin=0;
var isAccent=0;
var i="Robustesse du mot de passe";
var mdp1=mdp.substr(0,1);
document.write("Donner un mot de passe d'au moins 8 caractères")
while (mdp.length<8) {
mdp=prompt("votre mot de passe doit contenir au moins 8 caractères");
}
while (mdp.length>20) {
mdp=prompt("votre mot de passe ne doit pas contenir plus de 20 caractères");
}
while (mdp1>='0' && mdp1<='9') {
mdp=prompt("votre mot de passe ne peut pas commencer par un chiffre");
}
//function caracteresinterdits(mdp)
//{
// if (mdp == 'Â' || mdp == 'Ã' || mdp == 'Ä' || mdp == 'À' || mdp == 'Á' || mdp == 'Å' || mdp == 'Æ' || mdp == 'Ç' || mdp == 'È' || mdp == 'É' || mdp == 'Ê' || mdp == 'Ë' || mdp == 'Ì' || mdp == 'Í' || mdp == 'Î' || mdp == 'Ï' || mdp == 'Ð' || mdp == 'Ñ' || mdp == 'Ò' || mdp == 'Ó' || mdp == 'Ô' || mdp == 'Õ' || mdp == 'Ö' || mdp == 'Ø' || mdp == 'Ù' || mdp == 'Ú' || mdp == 'Û' || mdp == 'Ü' || mdp == 'Ý' || mdp == 'Þ' || mdp == 'ß' || mdp == 'à' || mdp == 'á' || mdp == 'â' || mdp == 'ã' || mdp == 'ä' || mdp == 'å' || mdp == 'æ' || mdp == 'ç' || mdp == 'è' || mdp == 'é' || mdp == 'ê' || mdp == 'ë' || mdp == 'ì' || mdp == 'í' || mdp == 'î' || mdp == 'ï' || mdp == 'ð' || mdp == 'ñ' || mdp == 'ò' || mdp == 'ó' || mdp == 'ô' || mdp == 'õ' || mdp == 'ö' || mdp == 'ø' || mdp == 'ù' || mdp == 'ú' || mdp == 'û' || mdp == 'ü' || mdp == 'ý' || mdp == 'þ' || mdp == 'ÿ' || mdp == '%' || mdp == '\\' || mdp == '*' || mdp == '+' || mdp == ',' || mdp == '-' || mdp == '.' || mdp == '/' || mdp == ':' || mdp == ';' || mdp == '<' || mdp == '=' || mdp == '>' || mdp == '?' || mdp == '@' || mdp == '[' || mdp == '\\' || mdp == '\'' || mdp == ']' || mdp == '^' || mdp == '{' || mdp == '|' || mdp == '}' || mdp == '~' || mdp == '@' || mdp == '"' || mdp == '')
// return nbcaraspe=nbcaraspe+1 ;
// else
// return nbcaraspe=nbcaraspe+0;
//}
while (mdp == 'Â' || mdp == 'Ã' || mdp == 'Ä' || mdp == 'À' || mdp == 'Á' || mdp == 'Å' || mdp == 'Æ' || mdp == 'Ç' || mdp == 'È' || mdp == 'É' || mdp == 'Ê' || mdp == 'Ë' || mdp == 'Ì' || mdp == 'Í' || mdp == 'Î' || mdp == 'Ï' || mdp == 'Ð' || mdp == 'Ñ' || mdp == 'Ò' || mdp == 'Ó' || mdp == 'Ô' || mdp == 'Õ' || mdp == 'Ö' || mdp == 'Ø' || mdp == 'Ù' || mdp == 'Ú' || mdp == 'Û' || mdp == 'Ü' || mdp == 'Ý' || mdp == 'Þ' || mdp == 'ß' || mdp == 'à' || mdp == 'á' || mdp == 'â' || mdp == 'ã' || mdp == 'ä' || mdp == 'å' || mdp == 'æ' || mdp == 'ç' || mdp == 'è' || mdp == 'é' || mdp == 'ê' || mdp == 'ë' || mdp == 'ì' || mdp == 'í' || mdp == 'î' || mdp == 'ï' || mdp == 'ð' || mdp == 'ñ' || mdp == 'ò' || mdp == 'ó' || mdp == 'ô' || mdp == 'õ' || mdp == 'ö' || mdp == 'ø' || mdp == 'ù' || mdp == 'ú' || mdp == 'û' || mdp == 'ü' || mdp == 'ý' || mdp == 'þ' || mdp == 'ÿ' || mdp == '%' || mdp == '\\' || mdp == '*' || mdp == '+' || mdp == ',' || mdp == '-' || mdp == '.' || mdp == '/' || mdp == ':' || mdp == ';' || mdp == '<' || mdp == '=' || mdp == '>' || mdp == '?' || mdp == '@' || mdp == '[' || mdp == '\\' || mdp == '\'' || mdp == ']' || mdp == '^' || mdp == '{' || mdp == '|' || mdp == '}' || mdp == '~' || mdp == '@' || mdp == '"' || mdp == '')
{ mdp=prompt("Votre mot de passe contient un caractère spécial non-autorisé, autorisé : (_)$!");
}
if ((mdp.length>8) || (mdp.length<20) || (mdp1<='0' && mdp1>='9')) document.write("Validité : Ok");
//DEMANDER AU PROF POUR MdP1 0 9
// if (MdP.length<8 || MdP.length>20 || MdP1>='0' && MdP1<='9') document.write("votre mot de passe est valide")
function getMaj(mdp, isMaj)
{
var maj = /^[A-Z]/;
if (c>='A' && c<='Z')
{
return isMaj=isMaj+1;
}
else return isMaj=isMaj+0;
}
function getNumber(mdp, isNum)
{
var number = /^[0-9]/;
if (number.test(mdp))
{
return isNum=isNum+1;
}
else return isNum=isNum+0;
}
function getAccents(mdp, isAccent)
{
var accent = "ÂÃÄÀÁÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ"
var check = 0;
for (var i = 0; i < accent.length; i++)
{
if (mdp == accent[i])
{
check = 1;
}
}
if (check == 1)
{
return isAccent=isAccent+1;
}
else return isAccent=isAccent+0;
}
function getSpecialChar(mdp, isSpe)
{
var special = '(_)$!';
var check = 0;
for (var i = 0; i < special.length; i++)
{
if (mdp == special[i])
{
check = 1;
}
}
if (check == 1)
{
return isSpe=isSpe+1;
}
else return isSpe=isSpe+0;
}
function finalTest(isNum, isAccent, isMaj, isSpe, mdp)
{
var valid = 0;
var retours = [isSpe, isNum, isAccent, isMaj];
console.log(mdp);
console.log(isNum + " chiffres");
console.log(isAccent + " accents");
console.log(isMaj + " majuscules");
console.log(isSpe + " special");
for (var i = 0; i < retours.length; i++)
{
if (retours[i] > 0)
{
valid++;
}
}
if (valid == 2)
{
document.write("securité moyenne");
}
else if (valid == 4)
{
document.write("sécurité forte");
}
else if(valid == 0)
{
document.write("sécurité faible");
}
else
{
document.write("autre sécurité");
}
}
</SCRIPT>
</BODY>
</HTML>