Cryptage de mot de passe inscription.

Résolu/Fermé
Mopire Messages postés 23 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 6 juin 2011 - Modifié par Mopire le 27/05/2011 à 13:42
 Utilisateur anonyme - 27 mai 2011 à 13:53
Bonjour à tous,

J'ai un espace membre, au début lors de l'inscription de hacher le mot de passe avec md5. Puisque je doit faire un système pour récupérer les mot de passe oublier, je vais juste le crypté.

J'ai trouver ce crypte mais j'arrive pas a l'insérer dans ma page pour crypter mon mot de passe dans ma BDD.

Script de cryptage :

//Début de ma fonction crypter 
//Entrée: message à crypter, mot de passe. (les deux sont de type chaine) 
//Je considère les chaines comme étant des tableaux de caractères 
//Sortie: message encrypté. (chaine) 
//Ecrit par Tadpole, Décembre 1998, cours de Philo. 
//Traduit du Pascal/Delphi 
function crypter($mes,$password) { 
$res=' '; 
$j=0; 
$tmp=0; 
//initialisations des variables. 
//J'ai pour habitude de toujours déclarer les types de mes variables... 
$lgmot = strlen($mes); 
//on récup la longueur du message 
//puis on boucle en analysant chaque caractère tour à tour jusqu'au bout du message. 
for ($i = 0; $i < $lgmot; $i++) { 
$tmp = ord($mes[$i]) + ord($password[$j]); 
//La ligne précédente est le coeur du programme: 
//on ajoute la valeur ascii du caractère en position i 
//à la valeur ascii du caractère en position j. Simple mais efficace. 
//si le resultat est supérieur a 255, pas de panique, on enlève 256 et on retombe sur nos pieds ;-) 
if ($tmp > 255) { 
$tmp = $tmp - 256; 
} 
$res[$i]=chr($tmp); 
if ($j == (strlen($password)-1)) { 
$j= 0; 
} else { 
$j=(($j % (strlen($password))) + 1); 
//Ahh... le modulo... J'adore :-) 
} 
} 
$res = base64_encode($res); 
//base64 est conseille pour le traitement des chaines longues 
return $res; 
//On retourne le messsage crypté. 
} 


Ma page d'origine :

 // Connexion à la base de données 
               // Valeurs à modifier selon vos paramètres configuration 
               mysql_connect("", "", ""); 
               mysql_select_db(""); 
                
               // Vérification de l'unicité du nom d'utilisateur et de l'adresse e-mail 
               $result = mysql_query(" 
                    SELECT Nom_Entreprise 
                         , Adresse_Email 
                    FROM Comptes_Utilisateurs 
                    WHERE Nom_Entreprise = '" . $_POST["nom_entreprise"] . "' 
                    OR Adresse_Email = '" . $_POST["email_contact_entreprise"] . "' 
               "); 
                
               // Si une erreur survient 
               if(!$result) 
               { 
                    $messages = "Erreur d'accès à la base de données lors de la vérification d'unicité"; 
               } 
               else 
               { 
                     
                    // Si un enregistrement est trouvé 
                    if(mysql_num_rows($result) > 0) 
                    { 
                          
                         while($row = mysql_fetch_array($result)) 
                         { 
                               
                              if($_POST["nom_entreprise"] == $row["Nom_Entreprise"]) 
                              { 
                                   $enregistrement_trouver = "Le nom de l'entreprise " . $_POST["nom_entreprise"]; 
                                   $enregistrement_trouver .= " est déjà utilisé"; 
                              } 
                              elseif($_POST["email_contact_entreprise"] == $row["Adresse_Email"]) 
                              { 
                                   $enregistrement_trouver = "L'adresse e-mail " . $_POST["email_contact_entreprise"]; 
                                   $enregistrement_trouver .= " est déjà utilisée"; 
                              } 
                               
                         } 
                          
                    } 
                    else 
                    { 
                          
                         // Génération de la clef d'activation 
                         $caracteres = array("a", "b", "c", "d", "e", "f", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9); 
                         $caracteres_aleatoires = array_rand($caracteres, 8); 
                         $clef_activation = ""; 
                          
                         foreach($caracteres_aleatoires as $i) 
                         { 
                              $clef_activation .= $caracteres[$i]; 
                         } 
                          
                         // Création du compte utilisateur 
                         $result = mysql_query(" 
                              INSERT INTO Comptes_Utilisateurs( 
                                   Nom_Entreprise 
                                   , Mot_de_Passe 
           , Adresse_Entreprise 
           , Code_Postal_Entreprise 
           , Ville_Entrerpise 
           , Nom 
           , Prenom 
           , Telephone 
                                   , Adresse_Email 
                                   , Date_Inscription 
                                   , Clef_Activation 
           , roles_id 
                              ) 
                              VALUES( 
                                   '" . $_POST["nom_entreprise"] . "' 
                                   , '" . md5($_POST["mot_de_passe"]) . "' 
           , '" . $_POST["adresse_entreprise"] . "' 
           , '" . $_POST["code_postal_entreprise"] . "' 
           , '" . $_POST["ville_entreprise"] . "' 
           , '" . $_POST["nom"] . "' 
           , '" . $_POST["prenom"] . "' 
           , '" . $_POST["telephone"] . "' 
                                   , '" . $_POST["email"] . "' 
                                   , '" . time() . "' 
                                   , '" . $clef_activation . "' 
           , '" . 2 . "' 
                              ) 
                         "); 
                          
                         // Si une erreur survient 
                         if(!$result) 
                         { 
                              $messages = "Erreur d'accès à la base de données lors de la création du compte utilisateur"; 
                         } 
                         else 
                         { 
                               
                              // Envoi du mail d'activation 
                              $sujet = "Activation de votre compte utilisateur"; 
                               
                              $messages = "Pour valider votre inscription, merci de cliquer sur le lien suivant :\n"; 
                              $messages .= "[http://]" . $_SERVER["SERVER_NAME"]; 
                              $messages .= "/ulysse/activer-compte-utilisateur.php?id=" . mysql_insert_id(); 
                              $messages .= "&clef=" . $clef_activation; 
                               
                              // Si une erreur survient 
                              if(!@mail($_POST["email"], $sujet, $messages)) 
                              { 
                                   $message_comfirmation = "Une erreur est survenue lors de l'envoi du mail d'activation.<br />\n"; 
                                   $message_comfirmation .= "Veuillez contacter l'administrateur afin d'activer votre compte."; 
                              } 
                              else 
                                { 
                                    
                                   // Message de confirmation 
                                   $message_comfirmation = "Votre compte utilisateur a correctement été créé.<br />\n"; 
                                   $message_comfirmation .= "Un email d'activation de compte, vient de vous être envoyé."; 
                                    
                                   // On masque le formulaire 
                                   $masquer_formulaire = true; 
                                } 
                               
                        } 
                          
                    } 
                     
                } 
          // Fermeture de la connexion à la base de données 
          mysql_close();   
        } 

           
    } 
  
} 
     


?>

3 réponses

Utilisateur anonyme
27 mai 2011 à 11:28
Sa traite pas de sujet concernant le hack de mdp sur ce forum dsl.
Et entre parenthèses il y a pas mal d' érreures à vue de nez...
0
Mopire Messages postés 23 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 6 juin 2011
27 mai 2011 à 13:42
je n'est pas une question de comment hacker un mot de passe, mais plutôt protection. Faire un système pour que si un membre oublie son mot de passe puisque le récupérer. Avec le md5, c'est impossible de le renvoyer, je veux mettre en place un système que lors de l'inscription, crypter le mot de passe pour le mettre dans ma BDD. Ne pas l'insérer dans ma BDD en clair.

Et normalement il y a pas d'erreur puisque le script marche parfaitement.
0
Utilisateur anonyme
27 mai 2011 à 13:53
Il faudraitque, lors qu' une personne s' inscrit, son mdp va direction ta BDD et installe un logiciel qui génère des clées de cryptages suivant certains crytères et les changent toutes les x secondes.
Après, ta BDD ne sera pas incraquable mais ce sera déja pas mal..
0