| |
01 02 03 04 05 06 07 08 09 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
<?php
/*------------------------------*/
/*
Titre : Génère des mots de passe prononcable facile à  retenir
Auteur : mercier133
Date édition : 16 Jan 2010
Date mise a jour : 07 Aout 2019
Rapport de la maj:
- refactoring du code en PHP 7
- fonctionnement du code vérifié
*/
/*------------------------------*/
function generatePass( $nbr = 5 ) {
//Liste de mots, pensez à  choisir des mots avec des sons qui se prononcent
// facilement !
$mots = array("bleu","blanc","rouge","jaune","vert","violet","affichera",
"chaine","genre","retourne","fonction","commentaire","lapin","renard","image",
"mathematique","aleatoire","hasard","source","chat","souris","chapeau","langue",
"arbre","generer","livre","supposon","tout","vecteur","construction","violon",
"flute","fuite","zebre","zoro","xylophone","deux","trois","quatre","cinq","sept"
,"huit","neuf","douze","treize");
//Prononcabilité :
$p = 1;
// c'est le nombre de lettre commune qu'il prendra en compte pour assembler 2
// mots. 1 est conseiller, 2 risque de donner de temps en temps le même mot
// (sauf
// si la liste de $mots est longue et variée). 3,4... est à  éviter !
for( $i=0;$i<rand(3,4);$i++){ //boucle d'initialisation
$pasOk=true;
$x =0;
while($pasOk && $x<100){
while($m==$m1){
}
$result = substr($result,-$p);
$pasOk=false;
$result2 = substr($result,-1);
}
$x++;
} if($x==100){ return generatePass();}
//si on n'y arrive pas on réessaye depuis le début ;)
}
if( strlen($result)<$nbr) return generatePass();
return $result;
}
?>
<?php
/*------------------------------*/
/*
Titre : Génère des mots de passe prononcable facile à  retenir
Auteur : mercier133
Date édition : 16 Jan 2010
Date mise a jour : 07 Aout 2019
Rapport de la maj:
- refactoring du code en PHP 7
- fonctionnement du code vérifié
*/
/*------------------------------*/
function generatePass( $nbr = 5 ) {
//Liste de mots, pensez à  choisir des mots avec des sons qui se prononcent
// facilement !
$mots = array("bleu","blanc","rouge","jaune","vert","violet","affichera",
"chaine","genre","retourne","fonction","commentaire","lapin","renard","image",
"mathematique","aleatoire","hasard","source","chat","souris","chapeau","langue",
"arbre","generer","livre","supposon","tout","vecteur","construction","violon",
"flute","fuite","zebre","zoro","xylophone","deux","trois","quatre","cinq","sept"
,"huit","neuf","douze","treize");
//Prononcabilité :
$p = 1;
// c'est le nombre de lettre commune qu'il prendra en compte pour assembler 2
// mots. 1 est conseiller, 2 risque de donner de temps en temps le même mot
// (sauf
// si la liste de $mots est longue et variée). 3,4... est à  éviter !
for( $i=0;$i<rand(3,4);$i++){ //boucle d'initialisation
$pasOk=true;
$x =0;
while($pasOk && $x<100){
while($m==$m1){
}
$result = substr($result,-$p);
$pasOk=false;
$result2 = substr($result,-1);
}
$x++;
} if($x==100){ return generatePass();}
//si on n'y arrive pas on réessaye depuis le début ;)
}
if( strlen($result)<$nbr) return generatePass();
return $result;
}
?>
|