Mot de passe

Bonjour,
comment je peux securiser un PW et le recuperer quand l'internaute le perd ??
Merci

7 réponses

  • Votes
  • Date
  • Date décroissante
Résumé de la discussion

Sécuriser les mots de passe et prévoir leur récupération lorsque l'utilisateur les oublie constitue la problématique centrale, dans le cadre d'un système Windows 7 et Firefox 3.5.18. Plusieurs répondants recommandent de hacher les mots de passe avec un salt plutôt que de les chiffrer, car le hachage est une opération unidirectionnelle et empêche la restitution. D'autres précisent qu'un hachage n'est pas réversible, et que la récupération du mot de passe réel n'est pas possible ; en pratique, une réinitialisation par email ou par jeton temporaire est privilégiée. En pratique, il faut prévoir une réinitialisation sécurisée par e-mail avec jeton temporaire, plutôt que d'essayer de restituer un mot de passe stocké, afin de limiter les risques et les abus.

Bobot (l’IA à votre service)
  1. Ba si tu veux que ce soit bien sécurisé il faut le crypter de facon a ce qu'il ne puisse pas etre décrypter.
    Donc ensuite la solution quand un utilisateur te dis qu'il a perdu son mot de passe tu lui en génére un aléatoire qu'il doit changer ;)
    1. Contributeur
      Si on veut que ce soit bien sécurisé, il ne faut pas chiffrer le mot de passe mais le hacher avec un salt.
      Pour le reste, je suis ok.
    2. Merci fiddy pour ta reponse
  2. si tu peux m'indiquer des liens STP.. car j'ai pas bien compris et je suis pas douée là ..
    1. en gros quand quelqu'un a oublier son mot de passe il clique sur un lien "j'ai oublier mon mot de pass".
      Ensuite tu lui demande des informations pour savoir de qui il s'agit.
      Une fois que tu as la bonne personne tu génère un mot de passe aléatoire avec cette fonction
      <?php
      /***********************************/
      /* Génère un mot de passe */
      /***********************************/
      // $size : longueur du mot passe voulue
      function Genere_Password($size)
      {
      // Initialisation des caractères utilisables
      $characters = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z");
      for($i=0;$i<$size;$i++)
      {
      $password .= ($i%2) ? strtoupper($characters[array_rand($characters)]) : $characters[array_rand($characters)];
      }
      return $password;
      }
      // Petit exemple
      $mon_mot_de_passe = Genere_Password(10);
      echo $mon_mot_de_passe;
      ?>

      Puis tu lui envoi son nouveau mot de passe par mail :)
      1. C'est plus clari?
    2. Merci mais pour savoir est ce que c'est la bonne personne je vais tester sur la disponibilte de son mail dans la BD ; c'est ça ?? bon je vais chercher comment faire pour liu envoyer un mail et puis sécuriser le PW ... mais comme meme c'est plus clair maintenant :)
      1. sa dépend.
        par exemple tu demande a l'internaute de rentrer son login et adresse mail.
        Et ensuite tu fias une recherche dans ta table personne de la personne qui a ce login et ce mot de passe :)

        Si tu as d'autre question hésite pas
      2. Vraiment j'ai plusieurs questions ..mais je veux pas abuser .. merci comme meme :)
      3. héiste pas envoi moi un message priver et je répondrais ;)
      4. ah d'accord .. merci mon Lauren :)
      5. Mais ya pas de quoi ;)
        ésite pas surtout
    3. tu le stocke dans une base de donnée a l'aide d'un algorithme cryptage a clé unique : CF la documentation de php ou ces 2 fonctions :

      function RIJNDAEL_encrypt($text){ 
          $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CFB); 
          $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); 
          $key = "This is a very secret key"; 
          return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_CFB, $iv)); 
         
      } 
      
      function RIJNDAEL_decrypt($text){ 
          $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CFB); 
          $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); 
          $key = "This is a very secret key"; 
        //I used trim to remove trailing spaces 
      return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, base64_decode($text), MCRYPT_MODE_CFB, $iv)); 
         
      }
      1. Merci .. mais je l'insere où ces deux fonctions ... page login.php ou traitement.php??
      2. tu les insère respectivement au moment ou tu as besoin de crypter et au moment ou tu as besoin de décrypter... tu sais utiliser des fonctions ?
      3. Contributeur
        Juste une petite remarque (vous en faites ce que vous voulez) :
        Comme j'ai dit plus haut, d'un point de vue sécuritaire, ce n'est pas terrible.
        Il vaut mieux hacher les mots de passe avec un salt plutôt que de les chiffrer.
      4. c'est tout a fait juste cependant tu ne répond pas a sa question puisqu'il ou elle cherche à pouvoir rendre le mot de passe a l'utilisateur... et le hachage c'est a sens unique... en théorie
      5. ktm620enduro : fiddy> je sais pas faire les fonctions de cryptage ou hachage :(