FONCTION : GÉNÉRATEUR DE MOTS DE PASSES COMPLEXES OU TEMPORAIRES DE LONGUEUR VAR

cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 - 13 sept. 2004 à 05:20
desbordesa Messages postés 4 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 4 août 2008 - 30 juil. 2008 à 18:38
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/26116-fonction-generateur-de-mots-de-passes-complexes-ou-temporaires-de-longueur-variable

desbordesa Messages postés 4 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 4 août 2008
30 juil. 2008 à 18:38
Bonjour,

est ce que dans ton script on peu ajouter lors du renvoi du mot de passe une ligne sup avec le mot de passe en phonetic
genre Alpha - tango - SIX etc...
Merci pour l'info

Arnaud
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
15 déc. 2007 à 14:47
remplace :

<?php
* Utilisation: Pour générer un mot de passe de 8 caractères, faites comme ceci:
*
* var $password;
* $password = generatePassword(8);
* echo $password;
*/

par :

<?php
/*
* Utilisation: Pour générer un mot de passe de 8 caractères, faites comme ceci:
*
* var $password;
* $password = generatePassword(8);
* echo $password;
*/
Utilisateur anonyme
15 déc. 2007 à 14:02
Désolé mais je suis pas très balaise en php. Je débute.

Même en rajoutant /* j'ai pas ce qu'il faut :(

Y'a pas quelqu'un qui a ce code sur une page sur le web que je regarde ce que ca donne
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
15 déc. 2007 à 11:56
il manque /* au debut de son commentaire (c'est la base du php, t'aurais du t'en appercevoir tout seul...)
Utilisateur anonyme
15 déc. 2007 à 11:51
J'ai mis ce code comme indiqué est quand je lance la page il me marque "Parse error: syntax error, unexpected '*' in /home/www/746724243f0f345b97cf80b81f091e79/web/mdp2.php on line 8"

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>
contenu du presse papier<?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
}

?>

</html>
SAaD44 Messages postés 69 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 6 décembre 2007
11 févr. 2005 à 19:54
Euh ouais mais bon je m'y connait pas trop avec cette fonction de php donc j'ai pris ce que je pouvais. (function.###(){blabla}) => c sa ke je comprend pas)
fuckya Messages postés 125 Date d'inscription mercredi 31 mars 2004 Statut Membre Dernière intervention 8 juin 2006
9 févr. 2005 à 15:23
J'ai plus simple ^^

function getAleatoire($chain, $nbchars=10)

{

for($i=0; $i <= $nbchars; $i++) {

$n = mt_rand(0, strlen($chain));

$pass .= $chain[$n];
}

return $pass;

}
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
16 janv. 2005 à 18:10
Euh... SAaD44, pour ca tu pourrais faire un md5 sur le nom de ton fichier+time par exemple pour avoir un nom de fichier différent !
SAaD44 Messages postés 69 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 6 décembre 2007
16 janv. 2005 à 18:04
Superbe !!
Je vais l'utiliser pour renommer des fichiers uploader pour éviter d'avoir 2 fichiers du même nom !
Merci, je met 10 !
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
18 nov. 2004 à 19:36
moi ça m'a apris a générer des nombres aléatoires
merci
Utilisateur anonyme
13 sept. 2004 à 12:28
D'abord j'explique si je veux ! LOL
Et 32 caractères paske pour un mot de passe ca fait limite pas lourd 32 caractères donc plus c génial encore bonjour la mémoire !

Et si le code te plait pas ben tu peu le modifier, c comme je dis a chaque fois.
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
13 sept. 2004 à 05:20
Tu vas m'expliquer pourquoi tu n'autorises seulement que maximum 32 caractères...
et un is_int serait mieux qu'un is_numeric...
Je ne mettrai pas la longueur avec une virgule...