- <?php
- * Utilisation: Pour générer un mot de passe de 8 caractères, faites comme ceci:
- *
- * var $password;
- * $password = generatePassword(8);
- * echo $password;
- */
-
-
- /* chaine generatePassword(int)
- * - Generer une chaine de caractères aléatoires d'une longueur spécifiée
- * - longueur maximum: 32
- */
-
- function generatePassword($plength)
- {
-
- // D abord on valide l'argument passé en parametre
- // Si nécéssaire on le change au cas ou il ne convient pas.
- if(!is_numeric($plength) || $plength <= 0)
- {
- $plength = 8;
- }
- if($plength > 32)
- {
- $plength = 32;
- }
-
- // Ceci est un tableau de caractres. Il n y a que les caractes standards alphanumeriques
-
- $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
-
- // Ceci est important: Il nous faut un generateur de nombres
- mt_srand(microtime() * 1000000);
-
- // Maintenant on genere simplement la chaine de la longueur de l'argument
- for($i = 0; $i < $plength; $i++)
- {
- $key = mt_rand(0,strlen($chars)-1);
- $pwd = $pwd . $chars{$key};
- }
-
- // Pour finir on change quelques caractères pour assurer le hasard du mot de passe
- for($i = 0; $i < $plength; $i++)
- {
- $key1 = mt_rand(0,strlen($pwd)-1);
- $key2 = mt_rand(0,strlen($pwd)-1);
-
- $tmp = $pwd{$key1};
- $pwd{$key1} = $pwd{$key2};
- $pwd{$key2} = $tmp;
- }
-
- return $pwd; //et on renvoi le mot de passe génére
- }
-
- ?>
<?php
* Utilisation: Pour générer un mot de passe de 8 caractères, faites comme ceci:
*
* var $password;
* $password = generatePassword(8);
* echo $password;
*/
/* chaine generatePassword(int)
* - Generer une chaine de caractères aléatoires d'une longueur spécifiée
* - longueur maximum: 32
*/
function generatePassword($plength)
{
// D abord on valide l'argument passé en parametre
// Si nécéssaire on le change au cas ou il ne convient pas.
if(!is_numeric($plength) || $plength <= 0)
{
$plength = 8;
}
if($plength > 32)
{
$plength = 32;
}
// Ceci est un tableau de caractres. Il n y a que les caractes standards alphanumeriques
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
// Ceci est important: Il nous faut un generateur de nombres
mt_srand(microtime() * 1000000);
// Maintenant on genere simplement la chaine de la longueur de l'argument
for($i = 0; $i < $plength; $i++)
{
$key = mt_rand(0,strlen($chars)-1);
$pwd = $pwd . $chars{$key};
}
// Pour finir on change quelques caractères pour assurer le hasard du mot de passe
for($i = 0; $i < $plength; $i++)
{
$key1 = mt_rand(0,strlen($pwd)-1);
$key2 = mt_rand(0,strlen($pwd)-1);
$tmp = $pwd{$key1};
$pwd{$key1} = $pwd{$key2};
$pwd{$key2} = $tmp;
}
return $pwd; //et on renvoi le mot de passe génére
}
?>