Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fonction qui genere des mot de passe aleatoire

6 réponses
Avatar
lionel
bonjour,

je voudrais savoir si il existe une fonction php
ou un code qui permet de générer des mots de passes aléatoires???

Merci d'avance

6 réponses

Avatar
Stephane Dumont
Bonsoir,

voici + bas une fonction trouvée sur desperaweb.com et qui génère un mot
de passe aléatoire de 6 caractères (modifier $x<6 pour changer la longueur).

<?
function randomPWD() {
$t= array('1','2','3','4','5','6','7','8','9',
'a','b','c','d','e','f','g','h');
$mot="";
srand((double)microtime()*1000000);
for ($x=0;$x<6;$x++) {
$mot.=$t[rand(0,16)] ;
}
return $mot;
}
?>


@+

Stéphane


bonjour,

je voudrais savoir si il existe une fonction php
ou un code qui permet de générer des mots de passes aléatoires???

Merci d'avance


Avatar
Aurelien Barbier-Accary
bonjour,

je voudrais savoir si il existe une fonction php
ou un code qui permet de générer des mots de passes aléatoires???

Merci d'avance


ça je ne sais pas mais tu peux toujours utiliser rand() pour obtenir un nombre
aléatoire de caractères puis l'utiliser à nouveau pour chacun des caractères.
cf http://www.php.net/rand (voir éventuellement srand pour Php < 4.2)

En gros :

$nbcaracs = 6 + rand() % 4; // pour des pwds entre 6 et 9 caracs
for($i=0; $i<$nbcaracs; $i++) // déterminer chacun des caractères
{
$pwd[$i] = rand() % 62; // 10 chiffres + 2x26 lettres
if ($pwd[$i] > 9)
if ($pwd[$i] < 36) // de 10 à 35: lettres minuscules
$pwd[$i] = 'a' + ($pwd[$i] - 10);
else // de 36 à 61: lettres majuscules
$pwd[$i] = 'A' + ($pwd[$i] - 36);
// rien de plus à faire si $pwd[$i] < 10, on garde le chiffre
}

Rq: 'a'+3 => 'd' fonctionne bien en C/C++, à tester en Php...
Il ne reste plus qu'à transformer ce tableau en vraie chaine de caractères.

En espérant que ça pourra t'aider si tu n'as pas de réponses plus spécifiques au
Php.
Aurélien.

Avatar
Sylvain
bonjour,


Hello !


je voudrais savoir si il existe une fonction php
ou un code qui permet de générer des mots de passes aléatoires???



La fonction RANK te convientdra peut être.

Exemple : mon nouveau password => $rand_pwd
$rand_pwd = rand(0, 9).rand(0, 9).rand(0, 9).rand(0, 9).rand(0,
9).rand(0, 9).rand(0, 9).rand(0, 9);

Merci d'avance


J'espère que cela va pouvoir d'aider.
@+.

Avatar
Patrick Janser
Par exemple ceci :
http://www.hitech-scripts.com/password-generator.html

Faut dire qu'avec google, on tombe relativement vite dessus :
http://www.google.ch/search?sourceid=navclient&hl=fr&ie=UTF-8&rls=GGLG,GGLG:2005-31,GGLG:fr&q=php+%2B+password+generator



"lionel" a écrit dans le message de news:
4384e89d$0$21030$
bonjour,

je voudrais savoir si il existe une fonction php
ou un code qui permet de générer des mots de passes aléatoires???

Merci d'avance


Avatar
Sylvain

bonjour,



Hello !


je voudrais savoir si il existe une fonction php
ou un code qui permet de générer des mots de passes aléatoires???



La fonction RANK te convientdra peut être.


La fonction RAND et non RANK te convientdra peut être....
Pardon...

Exemple : mon nouveau password => $rand_pwd
$rand_pwd = rand(0, 9).rand(0, 9).rand(0, 9).rand(0, 9).rand(0,
9).rand(0, 9).rand(0, 9).rand(0, 9);

Merci d'avance



J'espère que cela va pouvoir d'aider.
@+.



Avatar
Geoffroy Hecquet
In article (Dans l'article) <4384e89d$0$21030$, lionel wrote (écrivait) :

bonjour,

je voudrais savoir si il existe une fonction php
ou un code qui permet de générer des mots de passes aléatoires???

Merci d'avance


Encore une autre pour la route ?
Moi j'utilise celle-ci qui ne m'a jamais posé de problème et qui génère des très bons mots de passe


function generatePassw() // fonction de damien seguy
{
if (func_num_args() == 1)
$nb = func_get_arg(0);
else
$nb = 8;

// on utilise certains chiffres : 1 = i, 5 = S, 6=b, 3=E, 9=G, 0=O
$lettre = array();
$lettre[0] = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
'j', 'k', 'l', 'm', 'o', 'n', 'p', 'q', 'r',
's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A',
'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'D',
'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '9',
'0', '6', '5', '1', '3');
$lettre[1] = array('a', 'e', 'i', 'o', 'u', 'y', 'A', 'E',
'I', 'O', 'U', 'Y' , '1', '3', '0' );
$lettre[-1] = array('b', 'c', 'd', 'f', 'g', 'h', 'j', 'k',
'l', 'm', 'n', 'p', 'q', 'r', 's', 't',
'v', 'w', 'x', 'z', 'B', 'C', 'D', 'F',
'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P',
'Q', 'R', 'S', 'T', 'V', 'W', 'X', 'Z',
'5', '6', '9');

$retour = "";
$prec = 1;
$precprec = -1;
srand((double)microtime()*20001107);
while(strlen($retour) < $nb){
// pour generer la suite de lettre, on dit : si les deux lettres sont
// des consonnes (resp. des voyelles) on affiche des voyelles (resp, des consonnes).
// si les lettres sont de type differents, on affiche une lettre de l'alphabet
$type = ($precprec + $prec)/2;
$r = $lettre[$type][array_rand($lettre[$type], 1)];
$retour .= $r;
$precprec = $prec;
$prec = in_array($r, $lettre[-1]) - in_array($r, $lettre[1]);

}
return $retour;
}