Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CRÉATION DE PASSWORD ULTRA SIMPLE


Information sur la source

Catégorie :Sécurité & Cryptage Niveau : Débutant Date de création : 22/06/2005 Date de mise à jour : 23/06/2005 03:24:41 Vu : 5 933

Note :
5,6 / 10 - par 5 personnes
5,60 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

Génère un password avec des caractères et longueur personnalisés...
Également inclus une fonction pour crypter le password valide pour les .htpasswd
 

Source

  • <?php
  • //Création password ultra simple
  • //NE PAS UTILISER GENERATE_PASSWORD DIRECTEMENT DANS UN .HTPASSWD
  • //UTILISEZ LA FONCTION CRYPT_PASSWORD POUR METTRE DANS .HTPASSWD
  • //FONCTION_GENERATE_PASSWORD
  • //formation du password
  • //vous pouvez mettre tous les caractères que vous voulez utilisez dans $allowedchars
  • //caractères utilisés pour l'exemple = 0-9a-z
  • $allowedchars = "0123456789abcdefghijklmnopqrstuvwxyz";
  • $length = 15;
  • //Générer le password
  • $Generate_Password = "";
  • $max=strlen($allowedchars)-1;
  • for ($i=1;$i<=$length;$i++)
  • {
  • $Generate_Password .= substr($allowedchars, rand(0, $max), 1);
  • }
  • echo'Password Généré : '.$Generate_Password.'<br /><br />';
  • //FONCTION_CRYPT_PASSWORD
  • $Crypt_Password = crypt($Generate_Password, CRYPT_MD5);
  • //VOUS POUVEZ UTILISEZ LE RÉSULTAT DANS UN .HTPASSWD
  • echo'Résultat pour .htpasswd : '.$Crypt_Password.'';
  • ?>
<?php

//Création password ultra simple

//NE PAS UTILISER GENERATE_PASSWORD DIRECTEMENT DANS UN .HTPASSWD
//UTILISEZ LA FONCTION CRYPT_PASSWORD POUR METTRE DANS .HTPASSWD

//FONCTION_GENERATE_PASSWORD

//formation du password
//vous pouvez mettre tous les caractères que vous voulez utilisez dans $allowedchars
//caractères utilisés pour l'exemple = 0-9a-z
$allowedchars = "0123456789abcdefghijklmnopqrstuvwxyz";
$length = 15;
//Générer le password
$Generate_Password = "";
$max=strlen($allowedchars)-1;
for ($i=1;$i<=$length;$i++) 
{
$Generate_Password .= substr($allowedchars, rand(0, $max), 1);
}


echo'Password Généré : '.$Generate_Password.'<br /><br />';


//FONCTION_CRYPT_PASSWORD

$Crypt_Password = crypt($Generate_Password, CRYPT_MD5);

//VOUS POUVEZ UTILISEZ LE RÉSULTAT DANS UN .HTPASSWD
echo'Résultat pour .htpasswd : '.$Crypt_Password.'';


?>

Conclusion

vous avez dans l'exemple un password généré de 15 caractères (0-9a-z)
Ensuite le passwors est crypté pour le conformer à un .htpaswwd par exemple

voilà peut-être cela vous sera utile autant qu'à moi
 

Historique

22 juin 2005 15:05:54 :
mise à jour avec explication et exemples + claires
23 juin 2005 03:24:41 :
correction de la variable $length pour avoir une valeur exacte

Commentaires et avis

signaler à un administrateur
Commentaire de Isengard le 22/06/2005 11:00:23

Et pourquoi ne pas avoir mis la possibilité de gérer des majuscules ? Ca étendrait la complexité du mot de passe...

En fait j'ai jamais essayé avec des Maj mais c'est pas possible pour les .htpasswd ?

signaler à un administrateur
Commentaire de coubi64 le 22/06/2005 14:16:28

Bah si c'est faisable en mettant "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

signaler à un administrateur
Commentaire de codomolo le 22/06/2005 14:57:45

oui, oui, tout est possible...

Il suffit simplement de mettre les caractères que vous voulez gérer dans la variable "$allowedchars"

Cela peut faire un password assez fort selon la longueur et la variété des caractères...

Pour .htpasswd il suffit simplement de copier le résultat obtenu avec $Crypt_Password; et le coller dans votre .htpasswd comme l'exemple ci-dessous :

toto:1$9RWPVJkslEo

signaler à un administrateur
Commentaire de etiennexxx9 le 23/06/2005 01:51:55

Bonjour,
J'ai remarqué que ton script a un petit défaut, la valeur de $length n'est pas la vrai valeur. Pour corriger ce problème, il suffit de changer $i=0 par $i=1 dans le for.

     Etienne

signaler à un administrateur
Commentaire de codomolo le 23/06/2005 03:20:53

merci pour le conseil, je vais faire une nouvelle mise à jour...

signaler à un administrateur
Commentaire de Naixn le 23/06/2005 12:08:06

$text = "abcdefghijklmnopqrstuvwxyzABCDEGHIJKLMNOPQRSTUVWXYZ0123456789";
$code = '';
for ($i = 1; $i <= $nb; $i++)
        $code .= $text{rand(0, strlen($text)-1)};

> Marche très bien ça aussi :p

signaler à un administrateur
Commentaire de Leneuf8000 le 23/06/2005 14:32:10

Euh, puis savoir quelle est la diffrence avec la fonction str_suffle("")?

signaler à un administrateur
Commentaire de coucou747 le 24/06/2005 11:12:40

Naixn, ta solution n'est pas la plus rapide, et n'est pas la meilleur...

en php, les fichiers de sessions ont un nom qui se veut aléatoire... j'ai lu un truc qui disait que ces noms de fichiers étaient formés comme ceci :
md5(microtime());
j'ai trouvé ça marrant... c'est bien plus rapide, et bien plus court...

pour un password de moins de 32 caractères, il faut utiliser un substr.

parcontre, je ne sais pas si c'est plus aléatoire, ou si certains passwords seraient souvent trouvés...

signaler à un administrateur
Commentaire de raphi_92 le 30/12/2005 11:31:37

Script simple, rapide et bon. Merci ;)

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.