Base de hash md5

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 474 fois - Téléchargée 18 fois

Contenu du snippet

-----------------------------
Projet: db hash md5
Author: 0x0syscall
Date: 28/04/08
-----------------------------

Création d'un base de donnée de hash md5.

Source / Exemple :


------------------------------
Création de la table sql
------------------------------

CREATE TABLE IF NOT EXISTS `table_md5` (
  `ID` mediumint(8) unsigned NOT NULL auto_increment,
  `mot` varchar(300) collate latin1_general_ci NOT NULL,
  `sum` varchar(32) collate latin1_general_ci NOT NULL,
  UNIQUE KEY `ID` (`ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1215 ;

------------------------------
fin de la table sql
------------------------------

------------------------------
index.php
------------------------------
//crypte le mot en md5 et si il n'existe pas dans la base de donnée il l'enregistre 
<?
echo ' <form method="post" action="index.php"> ';
echo ' Mot : <input type="text" name="md5" value="'.$md5.'"> ';
echo " <input type='submit' name='Submit' value='Crypter'> ";
echo ' </form> ';
echo '<br> </br>';
if( isset( $md5 ) and ($md5 != '') ){ echo ' <br>Sum md5 : '.md5( $md5 ); }
echo '</p></font>';

$db = mysql_connect('sql.server', 'sql.login', 'sql.pwd');
mysql_select_db('sql.db',$db); 

    $sql_query = "SELECT mot FROM table_md5 where mot='$md5'";
    $result = mysql_query($sql_query);
	if(!$result)
        return; 

    if(mysql_num_rows($result) == 0)
    { 
	$req = mysql_query('SELECT * FROM table_md5');          
	$res = mysql_num_rows($req);   
	mysql_query("INSERT INTO table_md5 (ID, mot, sum) VALUES ('', '$md5', '$md5')");
	mysql_query("UPDATE `table_md5` SET `sum` = MD5( '$md5' ) WHERE `mot` =('$md5') LIMIT 1 ;");
 	if(!$result)
            return;
    } 
    else
    {
	echo '';
    }

mysql_close($db);

?>
------------------------------
fin index.php
------------------------------

------------------------------
decrypt_md5.php
------------------------------
<form method="post" action="decrypt.php">
md5 : <input type="text" name="md5">&nbsp;&nbsp;<input type='submit' name='Submit' value='Decrypter'></br>
</form>
<?php
$db = mysql_connect('sql.server', 'sql.login', 'sql.pwd');
mysql_select_db('sql.db',$db);                    
$req = mysql_query('SELECT * FROM table_md5');          
$res = mysql_num_rows($req);
echo '<br> </br>';                    
echo 'Il y a '.$res.' mots de passe dans la base de donnée';  
mysql_close($db);
?>
------------------------------
fin decrypt_md5.php
------------------------------

------------------------------
decrypt.php
------------------------------

<?php
$db = mysql_connect('sql.server', 'sql.login', 'sql.pwd');
mysql_select_db('sql.db',$db);  
                  
$req = mysql_query("SELECT * FROM table_md5 WHERE `sum` =('$md5') ");
$resultat = mysql_fetch_array($req);

echo '<center>';
echo '<table border="0" cellpadding="0" cellspacing="0" width="50%" height="95">';
echo '  <tr>';
echo '    <td width="100%" height="95">';
echo '<p><font color="#ffffff" size="2">';
echo '[+]Password  => ';
echo 		htmlentities($resultat["mot"]);
echo '</br>';
echo '[+]Checksum => ';
echo 		htmlentities($resultat["sum"]);
echo '<br> </br>';
echo '[ <a href="decrypt_md5.php">Back</a> ]';
echo '</p></font>';
echo '    </td>';
echo '  </tr>';
echo '</table>';
echo '</center>';

mysql_close($db);
?>
------------------------------
fin decrypt.php
------------------------------

A voir également

Ajouter un commentaire

Commentaires

Messages postés
5
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
26 août 2010

Idem!

Impossible de la faire fonctionner...
Une personne à une idée? Ou une autre source du genre?
Messages postés
67
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
4 novembre 2008

Bonjour,
Je n'arrive pas à faire fonctionner ta source...
Pourtant tout est installé correctement, aucun mot ne s'enregistre dans la base de données et le cryptage n'affiche aucun résultat o.o

++
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

Ah j'ai oublié...

mysql_query("INSERT INTO table_md5 (ID, mot, sum) VALUES ('', '$md5', '$md5')");mysql_query("UPDATE `table_md5` SET `sum` MD5( '$md5' ) WHERE `mot`('$md5') LIMIT 1 ;");

pourquoi faire une insertion dans ta bdd et ensuite la mettre à jour... .. ?

Ca serait pas plus simple de directement faire ton insertion avec les bonnes valeurs... .. ?

@ tchaOo°
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

Je ne reviendrais pas sur l'utilité du script cela a déja été débattu et là n'est pas le sujet...

Les multiples echo c'est pas beau... il faudrait plus de rigueur dans les normes de codage que tu utilise un coup tu met tes chaines entre ' un coup tu les met entre " d'une manière générale utilise les simples quotes plutot que les doubles quotes... .. .

else
{
echo '';
}

là j'avoue ne pas comprendre l'utilité de ton else... .. . ;o)

tu devrais externaliser la routine de connection à ta BDD dans un fichier à part car là si tu change de mdp de connexion ou le nom de ta table tu devra le changer dans tous tes fichier ce qui est inutile et fastidieux... j'irais même plus loin plutot que de faire 3 fichiers tu pourrais tout mettre dans le même fichier et gérer les actions en fonction d'un argument passé en paramètre.

Sinon

$req = mysql_query('SELECT * FROM table_md5');
$res = mysql_num_rows($req);

>>

$req = mysql_query('SELECT COUNT(ID) FROM table_md5');
$res = mysql_fetch_rows($req);
echo $res[0];

sera plus adapté et chargera moins ton serveur SGDB

voili voilou... j'ai pas regardé en détail mais voila ce qui me saute au yeux... je met 5/10 car je trouve qu'il y a des bonnes bases... .. .

Bon courage et bonne continuation

@ tchaOo°
Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
2 novembre 2008
4
Ne te décourage pas...
Mes premiers codes aussi étaient dans ce style :)

Ton script aurait pu être un peu plus travaillé quand même :
- le tag d'inclusion de php est "<?php" il vaut mieux éviter les short_tag
- dans index.php il y a une variable qui traine "$md5" d'ou sort elle ? il faut faire attention sur certaines configs $md5 peut être $_GET['md5'] une données modifiable par l'utilisateur
- à quoi sert req dans l'index.php à part à faire ramer le serveur vu le nombre de données à sélectionner ?

Il y a plein de petites choses comme ça...
Afficher les 11 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.