Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

Generateur de mots de passe


Sujet :

Contribuez

  1. ###raw>post.musername###
    Rédacteur/Modérateur
    Generateur de mots de passe
    Voici un petit script que j'ai réalisé pour generer un mot de passe

    On peut générer des mots de passe de différents niveaux de complexité:

    niveau 1: juste des lettres minuscules
    niveau 2: niveau 1 + lettres(s) majuscule(s)
    niveau 3: niveau 2 et chiffre(s)
    niveau 4: niveau3 + caractère(s) spécial(aux)


    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf8" />
    <title>Password Generator</title>
    <style type="text/css">
    body, html {
    	height:100%;
    	width:100%;
    	overflow:hidden;
    	}
    body{
    	background-color: #8FB480;
    	color: #025D02;}
    #cont {
    	width:450px;
    	margin:20px auto;
    	border: solid 2px #194308;
    	height:auto;
    	overflow:hidden;
    	}
     
    .label {width : 150px;
    		 float:left;
    		 padding:5px 0 15px 15px;
    		 }
     
    .label, h3 { font-family:verdana;
            }
    .field {
    	width: 100%;
    	background-color: #9EEE91 ;
    	padding : 5px 0;
    	float:left;
    	}
    #lon {
    		width:30px;
    		text-align:right;
    		}	
    #res {
    		width:250px;
    		font-family:consolas,dina,arial ;
    		font-size:15px;
    		text-align:center;
    		letter-spacing: 2px;}
    .last,h3 {text-align:center;}	
    </style>
    <script type="text/javascript">
    //<![CDATA[
    /******************************
    * SpaceFrog 03.05.2010        *
    * generateur de mots de passe *
    *******************************/
    var chars=new Array( "abcdefghijklmnopqrstuvwxyz".split(''),"abcdefghijklmnopqrstuvwxyz".toUpperCase().split(''),"0123456789".split(''),"!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~".split(''));
    function generate(){
    var level=+document.getElementById('niveau').value
    var long=+document.getElementById('lon').value
    if(long<level){alert('La longueur doit être au moins égale au niveau.');
                   return false;}
     
    var rep=new Array();
    myrand=new Date().getMilliseconds();
     
    while(level>1){ 
    	templong=Math.ceil(Math.random(myrand)*(long-(--level))) ;
    	rep.push(templong);
    	long=long-templong;
    	}
    	rep.push(long)
    var password=new Array();
    var i=-1;
    while(rep[++i]){
    	BaseL=chars[i].length
    	j=-1;
    	while((j++<rep[i]-1) && (password.push (chars[i][Math.floor(Math.random(Math.pow(new Date().getMilliseconds(),3))*BaseL)]))){}
    	}
    document.getElementById('res').value=password.sort(sortRand).reverse().sort(sortRand).sort(sortRand).reverse().join('')
    }
    function sortRand(){return (Math.round(Math.random(myrand))-0.5); }
    //]]>
    </script>
    </head>
    <body>
    <div id="cont">
    <div class="field"><h3>SpaceFrog's password generator</h3></div>
    <div class="field"><span class="label">Niveau :</span><select id="niveau">
    	<option value='1'>1</option>
    	<option value='2'>2</option>
    	<option value='3'>3</option>
    	<option value='4'>4</option>
    </select></div>
    <div class="field"><span class="label">Longueur :</span><input type='text' id='lon' value='6' maxLength='2'/></div>
    <div class="field"><span class="label">Mot de passe:</span><input type='text' id='res' value='' readonly="readonly" /></div>
    <div class="last field"><input type="button" onclick="generate()" value = "generation" /></div>
    </div>
    </body>
    </html>



    exemple en ligne ici

    [edit]
    Quelques petites modifs pous ameliorer la répartition par niveau et le random
    [/edit]
      1  0

  2. #2
    Membre éprouvé
    Merci pour tes précieuses connaissances !! bizoooo
    Infographiste / Webdesigner / Intégrateur (un peu Développeur aussi si on peut dire ;p)
    On me trouve souvent dans la partie Hardware, Systèmes et Logiciels ou encore Webmasters - Développement Web et surtout dans le forum Wordpress.
    »» Mon Blog Musical (drumnbass)

  3. #3
    Responsable Jeux-Concours

    Sympa.
    Ca me rappelle que j'étais parvenu à créer en PhP des mots de passe "lisibles". C'est-à-dire quelque chose du genre:

    - matale_2-
    - lutopi_3!

    Au lieu de:

    - k-s12!dsf

    C'était des mots de passe temporaires (genre "j'ai oublié mon mot de passe") facile à manipuler pour les gens qui ne connaissent pas bien les ordinateurs dont le fameux copier/coller.

  4. #4
    Rédacteur/Modérateur

    Je n'arrive pas a trouver une source fiable concernant les caractères spéciaux autorisés dans les mots de passe.

    selon certaines sources on peut utiliser
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~


    selon d'autres les [] et % sont interdits ...

    Existe-t-il une "norme" sur le sujet ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  5. #5
    Rédacteur/Modérateur

    Dernière modification:
    Readonly sur le resulat
    et surtout choix d'une police de caractères permettant de distinguer le zero du O...
    dina, consolas, arial

    je vous recommande d'ailleurs dina pour votre EDI, une police spéciale developpeurs...
    une simple recherche sur google avec "dina font download" vous permettra de la trouver .
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  6. #6
    Responsable Jeux-Concours

    Je ne sais pas trop mais imaginons que tu génères un %20, il se peut que ça devienne un espace lors d'un transfert quelconque.

  7. #7
    Rédacteur/Modérateur

    tout depend du type d'envoi ...

    je viens de tester avec un form en get:

    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  8. #8
    Rédacteur/Modérateur

    J'ai rajouté un reverse suivi d'un random sort sur l'array final car je le trouvais trop homogène dans la répartition des caratères


    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    document.getElementById('res').value=password.sort(sortRand).reverse().sort(sortRand).join('')
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  9. #9
    Expert confirmé
    Merci Spaffy, c'est du beau boulot comme d'hab
    J'ai été vérifier que tu retirais bien 0.5 au retour de ton Math.random pour répartir correctement les probas... zut tu y avais déjà pensé
    (Par contre du coup en lisant ton code j'ai mieux compris l'utilisation de Array.sort que j'ai tendance à oublier ^^)

    Citation Envoyé par SpaceFrog Voir le message
    je vous recommande d'ailleurs dina pour votre EDI, une police spéciale developpeurs...
    Tiens c'est (presque) le prénom de ma cadette (Dinah)

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  10. #10
    Rédacteur/Modérateur

    En level 1 et 6 lettre je n'ai toujours pas réussi à lui faire générer un vrai mot ...
    Juste peut être quelque idées de prénoms farfelus ^^

    gefilg
    redkri
    oquane
    hileac
    nefcin
    utheca
    aithez
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  11. #11
    Expert confirmé
    Citation Envoyé par vermine Voir le message
    Sympa.
    Ca me rappelle que j'étais parvenu à créer en PhP des mots de passe "lisibles". C'est-à-dire quelque chose du genre:

    - matale_2-
    - lutopi_3!

    Au lieu de:

    - k-s12!dsf
    Citation Envoyé par SpaceFrog Voir le message
    En level 1 et 6 lettre je n'ai toujours pas réussi à lui faire générer un vrai mot ...
    Juste peut être quelque idées de prénoms farfelus ^^

    gefilg
    redkri
    oquane
    hileac
    nefcin
    utheca
    aithez
    J'ai moi aussi commencé il y a quelques temps un petit générateur de mots*, mais j'en suis pour l'instant à peu près au même stade que SpaceFrog : ça fait des mots, si on veut, mais les sonorités et les constructions, si elles sont prononçables, ne sont pas encore assez "crédibles".

    Exemples :

    coukanrceux
    blagon
    kebe
    olu
    akote
    yrubeul
    wiquen
    jiloic
    soimovic

    Mais quoi qu'il en soit, ça m'a donné envie de rebosser un peu dessus, si ça avance je vous posterai un lien ^^

    * en tant que fonctionnalité mineure ajoutée à mon générateur de phrases

    EDIT : Quelques minutes après avoir écrit ce post, je vais remettre un peu le nez dans le code de la fonction en question, je lance une génération, et hop ! deux mots existants dont un nom propre ! .... mais ..heu... par contre à vous de les trouver je n'ose pas

    besnul
    nahamoin
    semuc
    mifarpu
    sperme
    adzeutris
    borat
    phitseufe
    eauson

    Pour ceux qui ont déjà entendu parler de cette excellente histoire vraie*, ça fait des souvenirs ^^

    * pour les non-anglophones, veuillez m'excuser mais je ne connais pas de version traduite en français...

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  12. #12
    Rédacteur/Modérateur

    J'ai rajouté un petit controle.
    La longueur doit en effet être au moins égale au niveau . Le niveau représentant le nombre de composants entrant dans la génération du mot de passe, on ne peut avoir un niveau 4 et une longueur 3.
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  13. #13
    Rédacteur/Modérateur

    Nouvelle modif...
    remplacement de
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
     &apos;
    par
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
     '


    Car IE (toujours lui) ne reconnait pas l'htmlentity de ' ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  14. #14
    Rédacteur/Modérateur

    Une version mot de passe "lisible"

    [code]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf8" />
    <title>Password Generator</title>
    <style type="text/css">
    body, html {
    height:100%;
    width:100%;
    overflow:hidden;
    }
    body{
    background-color: #8FB480;
    color: #025D02;}
    #cont {
    width:450px;
    margin:20px auto;
    border: solid 2px #194308;
    height:auto;
    overflow:hidden;
    }

    .label {width : 150px;
    float:left;
    padding:5px 0 15px 15px;
    }

    .label, h3 { font-family:verdana;
    }
    .field {
    width: 100%;
    background-color: #9EEE91 ;
    padding : 5px 0;
    float:left;
    }
    #lon {
    width:30px;
    text-align:right;
    }
    #res {
    width:250px;
    font-family:consolas,dina,arial ;
    font-size:15px;
    text-align:center;
    letter-spacing: 2px;}
    .last,h3 {text-align:center;}
    </style>
    <script type="text/javascript">
    //<![CDATA[ /****************************** * SpaceFrog 03.05.2010 * * generateur de mots de passe * *******************************/ cons="bcdfghklmnprstvwxz".split('') cons=cons.concat(new Array('ss','tt','ll','nn','mm','pp','ch','qu','gg','cc')) var voys=new Array('a','e','i','o','u','ai','au','ou','ei','ui','ey','oi') var compo=new Array(voys, cons) var BaseL= new Array(voys.length,cons.length) function generate(){ var lon=''+document.getElementById('lon').value var rep=new Array(); var myrand =new Date().getMilliseconds(); debut=(myrand % 2) == 0 while(--lon > -1){ lot=(debut)?0:1; debut= !debut rep.push( compo[lot][ Math.floor(Math.random()*BaseL[lot])]) } document.getElementById('res').value=rep.join('').replace(/^(\D)\1/,'$1').replace(/(\D)\1$/,'$1').replace(/([aeiouy])\1/,'$1') } //]]>

    SpaceFrog's password generator

    Longueur :
    Mot de passe:
    [/code] ce qui est marrant est que l'on peut lui donner des accents etranger ... Anglais: [code]cons="bcdfghklmnprstvwxz".split('') cons=cons.concat(new Array('th','sh','gh','ck','pt','ch','sk','ll','vy')) var voys=new Array('a','e','i','o','u','ea','au','oo','oi','ey','ay','ee')[/code] Japonisant [code]cons="bcdfghklmnprstvwxz".split('') cons=cons.concat(new Array('ki','sh','tu','fu','pu','to','ru','mi','mo')) var voys=new Array('a','e','i','o','u') var compo=new Array(voys, cons) var BaseL= new Array(voys.length,cons.length) .../... document.getElementById('res').value=rep.join('').replace(/^(\D)\1/,'$1').replace(/(\D)\1$/,'$1').replace(/([aeiouy])[aeiouy]/gi,'$1')[/code] Italien [code] Password Generator

    SpaceFrog's password generator

    Longueur :
    Mot de passe:
    [/code]
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  15. #15
    Responsable Jeux-Concours

    Romain, tes mots générés ne m'étonnent pas. J'ai toujours obtenu des phrases hilarantes avec ton générateurs.

    SpaceFrog, c'est le méthode que j'employais (plus ou moins). Pas mal la rajoute de la localisation. Il ne faut pas faire de jaloux, surtout chez les italiens. Rire, hein.

  16. #16
    Modératrice

    Spaffy ma grenouille je t'adore, c'est exactement ce qu'il me fallait
    Juste une 'tite modif pour que la fonction prenne la longueur et le niveau en paramètre et retourne le mot de passe, et hop
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  17. #17
    Expert confirmé
    Citation Envoyé par SpaceFrog Voir le message
    Je n'arrive pas a trouver une source fiable concernant les caractères spéciaux autorisés dans les mots de passe.

    selon certaines sources on peut utiliser
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~


    selon d'autres les [] et % sont interdits ...

    Existe-t-il une "norme" sur le sujet ?
    Mots de passe de quoi ?
    Si c'est pour l'ensemble des sites web, c'est mort.

    Certains ne permettent que des chiffres *sigh*, d'autres que des chiffres et des lettres (pas d'espace ni de caractères spéciaux), d'autres forcent l'utilisation de chiffres + miniscules + majuscules + (parfois) caractères spéciaux...

  18. #18
    Expert confirmé
    Citation Envoyé par Loceka Voir le message
    Mots de passe de quoi ?
    Si c'est pour l'ensemble des sites web, c'est mort.

    Certains ne permettent que des chiffres *sigh*, d'autres que des chiffres et des lettres (pas d'espace ni de caractères spéciaux), d'autres forcent l'utilisation de chiffres + miniscules + majuscules + (parfois) caractères spéciaux...
    Heu... c'est bien la raison d'être du paramètre "level"* qui est présent dans la fonction (voir post initial)

    * il n'est pas directement passé en paramètre à la fonction, il est récupéré dans un champ, mais ce n'est pas bien difficile à modifier comme implémentation ^^

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  19. #19
    Rédacteur/Modérateur

    oui et non RV là les niveaux sont croissants, là je ne genère pas que des chiffres par exemple ni que des majuscules

    mais on peut tout a fait imaginer un système à base de checkbox afin de selectionner les composants du mot de passe
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  20. #20
    Expert confirmé
    Citation Envoyé par SpaceFrog Voir le message
    oui et non RV là les niveaux sont croissants, là je ne genère pas que des chiffres par exemple ni que des majuscules

    mais on peut tout a fait imaginer un système à base de checkbox afin de selectionner les composants du mot de passe
    Ah effectivement, j'avais mal lu l'intervention de Loceka, s'il faut pouvoir composer entre différentes specs "à la carte", il y a un petit peu de travail pour proposer une interface avec quelques choix ^^ mais rien de très méchant a priori

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

###raw>template_hook.ano_emploi###