begin process at 2013 05 25 21:40:42
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité & Cryptage

 > CRACKAGE CHAINES CRYPTER EN MD5 PAR BRUTEFORCE

CRACKAGE CHAINES CRYPTER EN MD5 PAR BRUTEFORCE


 Information sur la source

Attention: ce code a été marqué comme suspect par un admin, il peut donc être dangereux. Ce code a été laissé sur le site dans un but pédagogique, ne l'exécutez pas si vous ne comprenez pas son contenu!
Note :
6,33 / 10 - par 21 personnes
6,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Sécurité & Cryptage Classé sous :bruteforce, md5, cryptage, cryptographie, dictionaire Niveau :Débutant Date de création :06/01/2004 Date de mise à jour :07/01/2005 19:04:19 Vu :53 068

Auteur : Astalavista

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (72)
Ajouter un commentaire et/ou une note


 Description

Ce petit programme permet de retrouver une variable en MD5 a partir d'un dictionaire avec une liste de mots
Petit programme fait a mes heures perdu ...

Source

  • <form name="form1" method="POST" action="<?=$_SERVER['PHP_SELF']; ?>">
  • <input name="decrypt" type="text" id="decrypt">
  • </form>
  • <?
  • $decrypt = $_POST['decrypt']; // Recupère la valeur de la text box Decrypt
  • if($decrypt != ""){ //Si la variable est diferent de 0
  • echo "à decrypter = $decrypt<br>";
  • $file = @fopen("dico.txt","r"); // Ouvertur du dictionaire Dico.txt a la racine
  • if(!$file)
  • {
  • echo 'Impossible de trouver le fichier dico.txt';
  • exit;
  • }
  • //Lecture ligne par ligne dans le fichier
  • while (!feof ($file)) { // Tant que (while) ce n'est pas la fin du fichier (eof = end of file)
  • $buffer = fgets($file, 4096);
  • $buf = md5(trim($buffer)); // on enlève les Espaces Blanc (trim) et on crypt le mot en MD5 (md5)
  • $a++; // Permet de dir le nb de mot dans le dico (il y a des autres fonctions pour ca, mais en faisant ca , ca permet d'avoir une veerification)
  • if(trim($decrypt) == trim($buf)) {// On verifie si c'est les mêmes
  • $passe = $buffer;//Si c'est les même on enregistre le mot dans la variable $passe
  • break;//On arette de chercher ....
  • }
  • }
  • echo $a." Mots dans le Dico<br>"; // Nombres de mot dans le dico
  • if($passe != ""){ // si la variable passe n'est pas vide on affiche le mot trouver
  • echo "Le programme a reussi a decrypter le mot<br>Le mot est : $passe";
  • }else{ // Sinon on dit qu'il a pas ete trouver
  • echo "Le programme n'a pas reussi a decrypter le mot<br>Vous devriez mettre un dictionnaire plus important";
  • }
  • }
  • fclose($file);//On ferme le fichier
  • ?>
<form name="form1" method="POST" action="<?=$_SERVER['PHP_SELF']; ?>">
    <input name="decrypt" type="text" id="decrypt">
</form>
<?
$decrypt =  $_POST['decrypt'];  // Recupère la valeur de la text box Decrypt
if($decrypt != ""){             //Si la variable est diferent de 0
echo "à decrypter = $decrypt<br>";
$file = @fopen("dico.txt","r");  // Ouvertur du dictionaire Dico.txt a la racine

if(!$file)
{
echo 'Impossible de trouver le fichier dico.txt';
exit;
}

//Lecture ligne par ligne dans le fichier
while (!feof ($file)) { // Tant que (while) ce n'est pas la fin du fichier (eof = end of file)
    $buffer = fgets($file, 4096);
    $buf = md5(trim($buffer));  // on enlève les Espaces Blanc (trim) et on crypt le mot en MD5 (md5)
    $a++; // Permet de dir le nb de mot dans le dico (il y a des autres fonctions pour ca, mais en faisant ca , ca permet d'avoir une veerification)

                if(trim($decrypt) == trim($buf)) {// On verifie si c'est les mêmes
                    $passe = $buffer;//Si c'est les même on enregistre le mot dans la variable $passe
                break;//On arette de chercher ....
                }
    
    }

echo $a." Mots dans le Dico<br>"; // Nombres de mot dans le dico
if($passe != ""){   // si la variable passe n'est pas vide on affiche le mot trouver
echo "Le programme a reussi a decrypter le mot<br>Le mot est : $passe";
}else{              // Sinon on dit qu'il a pas ete trouver
echo "Le programme n'a pas reussi a decrypter le mot<br>Vous devriez mettre un dictionnaire plus important";
}
}
fclose($file);//On ferme le fichier
?>


 Conclusion

Donner votre avis sur ma source est notez la SVP ....
Merci...


 Historique

29 juillet 2004 12:26:57 :
- Modification de la source pour que le mot de passe ne continue pas d'etre chercher si il a deja trouver une chaine valable
07 janvier 2005 19:04:19 :
Modification de certain beug, dont la boucle infini au cas ou le fichier n'es pas trouver

 Sources du même auteur

Source avec Zip Source avec une capture AFFICHER UNE IMAGE SANS IMAGE (GRÂCE AUX URI)
Source avec Zip SERCACHE2 > CACHE DE PAGES, D'OBJETS, DE REQUÊTES ... (NON T...
Source avec Zip SURCHARGE DE LA CLASSE RECURSIVEDIRECTORYITERATOR POUR RÉCUP...
Source avec Zip SERSESSIONS > CLASS PHP5 POUR GERER LES SESSIONS SIMPLEMENT ...
Source avec Zip SERTPL > CLASS PHP5 POUR GERER LES TEMPLATES SIMPLEMENT

 Sources de la même categorie

INTERDIRE LE PASSAGE DE FONCTION DANS UNE URL par michael33512
Source avec Zip Source avec une capture PERMISSION D'ACCÈS À UN DOSSIER SANS HTACCESS par popolino0
Source avec Zip Source avec une capture CAPTCHA OPENSOURCE SECURIMAGE (VERSION 3) par aventurier19
DNLHS - DONOT LET HACKERS SETUP par PunKeel
Source avec Zip Source avec une capture CAPTCHA AJAX ANTI-BOT par darkvador59

 Sources en rapport avec celle ci

CRYPTER/DECRYPTER ALEATOIRE par ravorasolofo
Source avec Zip Source avec une capture CREATION DE COMPTE AVEC CRYPTAGE ET ESPACE DE CONNEXION SEC... par bm1982
MD5 RELATION RECIPROQUE par coucou747
CRYPTAGE / DECRYPTAGE BASIQUE EN PHP UTILISANT LE PRINCIPE D... par Tadpole
VÉRIFICATION DE LOGIN VIA HASH MD5 par FhX

Commentaires et avis

Commentaire de WipedOUT le 06/01/2004 18:24:42

Salut man je trouve ta source KEWL mais je debute en php et je comprend tous sauf les commandes kil fo connaitre par coeur celles qu'on peu pas deviner donc j'aimerai bien ke tu me dise a koi servent :
-feof
-trim

mais surtout comment faire pour lire ligne par ligne dans le txt je voudrai savoir si ca a un rapport avec le 4096 ke ta mis a la fin du fget ???
Merci de me repondre au plus vite

Commentaire de Astalavista le 06/01/2004 18:51:43

Moi aussi je debute (vu ma source)
trim() sert a suprimer les espaces blanc (les espaces)
pour eviter l'erreur suivante
md5("test") est different de md5("  test")
Voila ... j'espère que je t'ai aider ....

Commentaire de WipedOUT le 06/01/2004 18:53:32

Oui merci mais feof sert a koi et comment fai tu pour arriver a choisir le mot ligne par ligne merci de me repondre ;)
!!!!

Commentaire de Astalavista le 06/01/2004 18:59:40

$file = fopen("dico.txt","r");  
while (!feof ($file)) {
    $buffer = fgets($file, 4096);
Echo $buffer;
}
fclose($file);

Avec cette source ca t'affiche toutes les lignes du fichier text ...
Mais pour feof() je sais pas ca sert a quoi, j'ai prit le bout de la source sur le site du language PHP

Commentaire de WipedOUT le 06/01/2004 19:01:40

ok Merci
si ta besoin contacte moi

Commentaire de Steph666 le 07/01/2004 11:22:28

Bonjour,

fgets() retourne la chaîne lue jusqu'à la longueur 4096 octet, ou bien la fin du fichier, ou encore
un retour chariot (le premier des trois qui sera rencontré).

feof() teste la fin du fichier que tu lis.

Stéphane.

Commentaire de JcDuss le 07/01/2004 11:24:17

while (!feof ($file))

tant que tu n'est pas arrivé a la fin du fichier $file

c'est ca feof, la fin du fichier

Commentaire de Astalavista le 07/01/2004 11:35:20

Ha ok , j'apprend des choses sur ma source ... LOL
Donc EOF = End Of File

Commentaire de Kirua le 07/01/2004 15:41:36

oui c'est ça

et chopez tous le réflexes php.net, tout y est en tchèques, italien, suédois, chinois, etc et même en français alors vous privez pas! y a l'explication en profondeur de ttes les fct

Commentaire de flashfun le 07/01/2004 21:15:31

Pour revenir au md5(), d'après mes recherches:
Plusieur mots peuvent corresponde à un même cryptage md5(),
donc ton programme ne trouvera pas forcement le bon mot de passe.
J'attend vos remarques.

Commentaire de Astalavista le 07/01/2004 21:43:05

En disant ca, tous les mots de passe qui sont crypter en md5 (pour la plus part des sites PHP) peuvent etre pyrater en entrant un autre passe ???

Commentaire de Kirua le 07/01/2004 21:50:52

lol, le md5 fournit (par hashage, pas par cryptage) une chaine de 32 octets qui comporte des caractères alphanumériques, majuscules et minuscules.

ça fait: (26+26+10)^32 possibilités, ce qui est énorme.

bien entendu, comme c'est un champ fini (et pas infini comme l'est l'ensemble des données potentiellement hashée avec md5) il existe (une infinité) de(s) chaînes différentes qui donnent le même résultat après md5, seulement la probabilité que cela se produise pr un mot de passe par exemple est très faible (quasi nulle?) puisqu'un mot de passe, ça fait mettons 8 caractères, et il y a les mêmes caractères possibles, plus ?/! etc... imaginons 75 caractères.

75^8 &lt; 62^32

environ 1E15 contre 2E57

donc... la chaine qui donne le même résultat que 'm0n|\/|OdEpa$$e' sera bcp plus longue qu'un mot de passe standard, donc t'auras pas de problème.

et puis à propos de la réversibilité, c'est justement le principe du hashage, c'est que l'algo est irréversible, sinon il ne serait pas utilisé à ça.

Commentaire de scullder le 09/01/2004 15:02:28

c sympa mais le dictionnaire, tu vas mettre du temps à le faire =)
je pense poster ma source qui marche aussi bien que moisie je l'avoue ^_^.

Commentaire de defkrie le 11/01/2004 18:57:08

tu sai il existe des logs qui creé des dico de + de 20 characteres en moins de 10 secondes jen ai fait un en php il prenait bien sur une infinity

Commentaire de Arkko le 19/01/2004 03:18:07

C'est bien mais le php est pas fait pour ca ... 9/10 !!!
Mais si t'en veut un qui massacre va vers le cpp ;)

Commentaire de juki_webmaster le 20/01/2004 17:42:56

Quesce le MD5 ?

Commentaire de Astalavista le 20/01/2004 17:50:53

Le md5 est un dispositif de codage , qui ne marche que dans un sens, donc ce programme sert a tester plusieur mots pour retrouver la chaine de caractère

Commentaire de HurriCom le 05/05/2004 19:06:46

Mais lol comme ça sert trop à rien ces scripts !
Stop la perte de temps !!!
Il te faut combien de vie pour touver le mdp d'une petite page ridicule dont le mot de passe est crypté dans la base ???

admettons que tu arrive à trouver le login, il te faudra 50 vies pour arriver à ouvrir ta page, même si la chaîne de caractère du pass est simplissime :)))
genre "bidon ton script mec!"

viva md5 !!!

Commentaire de Astalavista le 05/05/2004 21:53:48

En premier lieu ce script sert a montrer qu'on peut cracker nimporte quelle chaine d'une facon ou d'une autre ...
Tu dit que c'est un script bidon ... certe pour toi, mais des personnes peuvent le trouver utile ...
Et comme tu voit le peut de code mit a disposition est COMPLETEMENT commenter, ce qui permet de comprendre le fonctionnement de la source et de gerer les fichier texte.
Je voit que tu critique mon code que tu le dit "inutile" mais ... si je ne me trompe pas tu n'as aucun codes sur le reseau ?!?

Commentaire de Arkko le 06/05/2004 00:47:13

LOL, tu l'as cassé je crois héhé

Commentaire de HurriCom le 06/05/2004 07:28:17

bof ... :/ moi ça me fait peine, je vous laisse dans votre del. Je vous invite à vous renseigner un peu sur md5 qd même :), car si le principe de ton script est pas mal (quoi que pas originale du tout), il n'en reste pas moins inopérant voir concrètement inutile.
Bon crack de md5. et re lol ! huhuhufhuf ! pardon (he oui en fait il faudrait que je t'aprenne la définition du cracking m'enfin!).
Des scripts j'en pose, mais sous un compte différent sur lequel je soigne mes stats et mon verbe afin de ne pas heurter les susceptibilités.
Avec tous mes encouragements (à faire mieux) ...
Salutations.

PS :ceci sera mon dernier message posté sur le sujet.

Commentaire de Astalavista le 06/05/2004 20:29:34

JE vien de voir que ton compte vien d'etre cree... tu vien de fair le compte et le premier message que tu poste c'est une critique sur une source ... et pour un autre code , tu cree un autre compte ???
Moi je n'ai qu'un compte, j'assume mes critique, je ne me cache pas sous plusieurs pseudos ....

PS : Ton ironie garde la pour toi...

Commentaire de mavounet le 07/05/2004 11:41:36

Moi j'aimerai soutenir Hurricom qui a parfaitement raison ;)
pardon de vous décevoir ...

Pourquoi vous donner tant de mal à tenter de déchiffrer une chaine de caractère qui n'est pas contenue dans son empreite?
Je m'explique ...
MD5 permet de faire une empreinte numérique d'une chaîne de caractères afin de vérifier son authenticité par comparaison.
Je mets au défi quiconque de retrouver avec certitude LA chaîne de caractère suivante :

"aa36dc6e81e2ac7ad03e12fedcb6a2c0"


En effet, je pourrai mettre ma main à couper avec confiance que vous n'y arriverai pas, puisque le message dont l'empreinte est "aa36dc6e81e2ac7ad03e12fedcb6a2c0" n'est pas contenu ici.
On de décrypte pas md5 !!!

Pour finir, un script de ce genre ("brute force") est utile lorsque les mots de passe sont en clair ou cryptés à la limite, mais en aucun cas pour des mots de passe chiffrés.

Bonne continuation, j'ai quand même mis une note d'encouragement :)

Commentaire de BrayanFURIE le 20/05/2004 13:14:09

mais pfff, vous l'avez testé avant de partir dans vos commentaires !?
Biensur que si cette source est interressante, deja pour certaines fonction de php (en  + c'est bien commenté) et puis ca marche donc ca sert a rien de dire que ca va metter 107 ans.
Je parle biensur pour tt ce qui est MDP lorsque l'on a récupéré le hash dans une base de donnée ou autre, c'est une attack par dico et c'est tres rapide.
Et l'interet c'est que vous boferez les recources de votre hebergeur et po les votres, voila :)

Commentaire de jb_gfx le 29/07/2004 03:14:13

mavounet: c'est vrai qu'on ne peut pas decrypter du md5 (dans le sens partir du hash et reverser l'algo pour retrouver le mot origine) mais justement le seul moyen de retrouver le password d'origine est le brute forcing. soit par dico (comme ici). les 2 sources (celle de scullder et celle ci de astalavista) fonctionnent parfaitement pour retrouver des pass cryptés par md5.

Hurricom a raison dans sa façon de décrire le fonctionnement et le fait que ça peut être long pour retrouver le password d'origine, mais toi tu raconte vraiment n'importe quoi.

"Je mets au défi quiconque de retrouver avec certitude LA chaîne de caractère suivante :

"aa36dc6e81e2ac7ad03e12fedcb6a2c0"


En effet, je pourrai mettre ma main à couper avec confiance que vous n'y arriverai pas, puisque le message dont l'empreinte est "aa36dc6e81e2ac7ad03e12fedcb6a2c0" n'est pas contenu ici.
On de décrypte pas md5 !!!"

Et moi je peux te dire avec certitude que la chaine correspondant à ce hash est: "mdp" (en minuscule).

Voilà tu peux te couper la main maintenant ;)

Y'a des centaines de progs qui permettent de bruteforcer du md5 sur le net...


Astalavista: dans ta boucle quand tu test les mots vs le hash md5 tu devrait remplacer:

if(trim($decrypt) == trim($buf)){$passe = $buffer;}

par:

if(trim($decrypt) == trim($buf)) {
$passe = $buffer;
break;
}

Si le mot de passe est trouvé, on quitte la boucle. Pas de raison de contiuner si on a déjà trouvé que "aa36dc6e81e2ac7ad03e12fedcb6a2c0" == "mdp" :-D

Commentaire de mavounet le 29/07/2004 10:17:01

Ah ces jeunes !
Il existe plusierus mêmes empreintes pour plusieurs mots de passe différents.
Tu ne peux pas dire avec certitude que le mot de passe d'origine est 'mdp'.

de plus, il y a fort à parier qu'un dico n'arriverai pas à trouver une chaîne aléatoire.
Dis-moi combien de vies humaines il va te falloir pour retrouver un mot de passe alphanumérique du type "gkcn47xad8" ?

un exemple : quelle(s) chaîne(s) de caractères donnent 1eec414adf814acbc887f59327db58fb ?
bon courage :)

Commentaire de Astalavista le 29/07/2004 12:21:59

Bien jouer jb_gfx (et merci de me defendre),
Mavounet, un mot de passe n'est jamais (ou presque) un chaine de caractère, il est même souvent limiter a un nombre de caractère, c'est très rare que dans un site tu puisse mettre plus de 8 caractères pour un mot de passe ...
une fois que tu as la limite tu prend un dico avec au max le nombre limiter de caractre
c'est sur qu'on peut en entrer des mot de passe plus grand mais le but n'est pas de decrypter 50 caractère mais au maximum 8 caractères.

Commentaire de Kirua le 29/07/2004 14:12:30

tu rigoles?? c'est au contraire très rare que sur un site tu puisses mettre MOINS que 8 caractères, et tu auras tjs droit aux lettres (maj/min: 52 poss.), aux chiffres (10 poss), et à plein de signes du style !('§('è§(!)'"('"é(çà'"§àçè'"àç(!"éçà'è!"'àç§!')"§èà&"' enfin bref... t'auras un truc du style:

NbCaractères ^ 100

et là, ben bon courage, c'est tt. Et mathématiquement, il existe plusieurs chaînes de données qui donnent la même chaîne hashée, sinon ce serait le meilleur compresseur de données de tous les temps.......

Commentaire de gergalp le 30/07/2004 19:06:14

Il est vrai que l'utilisattion d'un dictionnaire peut etre assez efficace si le dictionnaire est assez complet.
Néanmoins, il ne peut pas servir efficacement contre un hashage MD5.
Si tu veux faire du bruteforce avec PHP, ca sera assez long sauf si tu arrives à mettre Apache en priorité haute. Un script C serait beaucoup plus efficace.

c'est vrai que de coté lecture des fichiers texte est une bonne idée, mais pourquoi pas l'insérer dans une application plus utile?

Commentaire de gergalp le 30/07/2004 19:10:14

Au fait, pour répondre à mavounet:

On s'en fout de savoir si c'est le bon mot de passe, tant que ca marche :D

Commentaire de flashfun le 30/07/2004 19:50:36

gergalp>
cela dépend de ce qui est protégé par le md5

parfois le mot de passe n'est pas vérifier qu'une seul fois et que d'une seul manière...

Commentaire de gergalp le 31/07/2004 01:25:46

Je suis bien d'accord, mais ce qui nous intéresse ici, ce n'est pas de pirater les mots de asse de la CIA, juste le compte d'administrateur d'un petit site.

c'est clair que si on a enregistré a 2 endroits le mot de passe, mais crypté différemment, on aura plus de mal à trouver (quoique)...

exemple :
$pass1 = md5($pass);
$pass2 = md5(base64_encode($pass));

Commentaire de flashfun le 01/08/2004 19:35:52

je ne sais pas comment on peut obtenir le md5 d'un mot de passe, mais si on y arrive pourquoi ne pas le changer le temps de se connecté au site?

ce que je demande est peut-être absurde, mais je voudrais savoir comment avoir un mot de passe en md5.

Commentaire de Astalavista le 02/08/2004 11:39:36

<?
$passe = "mot de passe";
echo md5($passe);
?>
Ceci t'affichera la variable passe en md5 ..
C'est function est utiliser pour certain site pour proteger le mot de passe, et de pouvoir le verifier sans le decrypter (vu qu'il est impossible)
est sous la base MySql (ou autre) le mot de passe crypter en md5 est enregistrer ...
Et sur 'tous les sites' une failles existe.
Certaines faillent permettent d'afficher les données de la base (MySql injection ou autre techniques)

Commentaire de Clem le 07/08/2004 21:17:37

J'ai fait une version C++ par brute force (et non dico), juste pour voir ce que ça donnait sur un language plus rapide, et le résultat est la : http://www.cppfrance.com/code.aspx?ID=25243
( et hop, un coup de pub ^____^ )

Commentaire de iomega le 07/01/2005 12:06:09

Salut et bravo pour ta source
j'ai un message d'erreur à l'affichage de la page
supplied argument is not a valid File-Handle

ensuite j'en ai plus
peux-tu me dire comment résoudre ce problème

Commentaire de Astalavista le 07/01/2005 19:06:07

iomega> Essaye voir maintenant, car a mon avis c'etais un problème du fichier texte qui ne trouvais pas

Commentaire de coucou747 le 08/01/2005 00:47:28 administrateur CS

"Il te faut combien de vie pour trouver le md5 d'une petite page ridicule dont le mot de passe est crypté dans la base ???" => c'est pour cette raison que l'on fait un dico : le dico est une sorte de force brute que l'on ne devra utiliser qu'une fois... Exemple pour le RSA on pourait enregistrer chaque nombre premier M que l'on génère pour l'utiliser ensuite sur N (N=P*Q P et Q premiers de 128 bits) Si N / M est entier, alors on a P et Q... On a donc tout car E est passé en arg... Mais si jamais on arrivais à avoir tout les nombres premiers entre 0 et 2^128 alors on légaliserait la crypto 2048... Le dico permet de faire un cassage 'intelligent' c'est à dire qu'il apprendrais des nombres qui optimiseraient les calculs suivants... Enfin tout ça pour dire que c'est un très bon procédé ce cassage...

"sauf si tu arrives à mettre Apache en priorité haute."=> ça sert à quoi un hébergeur selon toi ?? sur un hébergeur, c'est soit MYSQL soit Apache, soit PHP qui a une forte prioritée CPU mais ça reste un langage interprété... ça reste pas très puissant...

MD5, c'est si utilisé que ça pour les BDD ?
Et légalement on est obligé de crypter, ça c'est légal ?
C'est interressant par raport au DES ?

Commentaire de Kirua le 10/01/2005 08:37:25

"C'est interressant par raport au DES ?"

ça n'a rien à voir, ce n'est pas du tout le même usage. le DES est un algo de cryptage, le MD5 est un algo de hashage.

Commentaire de coucou747 le 10/01/2005 20:13:47 administrateur CS

pour les identifications les deux peuvent êtres utilisés...

pour les identifications, on pourait même hasher le mot de passe en js pour qu'il ne se transphère pas en clair (mais du coup, c'est une chaine équivalente qui se baladerait en claire...)

Pour les identifications, la seule diférence que je voi, c'est que si on hashe en md5, l'utilisateur ne peut pas demander que l'on lui renvoi son mot de passe par mail... Je voulais savoir si qqn voyait qqch qui m'aurait échapé...

Commentaire de Kirua le 11/01/2005 16:50:21

si tu crypte en DES plutôt que hasher en MD5, tu dois utiliser une clef fixe: si qq un trouve cette clef, il peut, en ayant acces à ta base de données, récupérer tous les mots de passe des utilisateurs, qui sont souvent les mêmes que les mots de passe des comptes de messagerie. en MD5, et avec toutes les méthodes de hashage, tu n'auras pas cet inconvénient.

Commentaire de grandvizir le 09/04/2005 11:49:31

Kirua> Je cite «le md5 fournit une chaine de 32 octets». C'est faux! Le MD5 fournit une empreinte de 128 bits, donc sur 16 octets purs. Or, les claviers ne permettent pas de gérer certains caractères de la table ASCII apparaissant dans le message digéré. Donc on convertit les 16 caractères ASCII en leur représentation hexadécimale sur 2 caractères chacun, ce qui fait au final une clé de 32 octets (2*16) constituée des 16 caractères alphanumériques du système hexadécimal qui ont la chance d'être gérés par les claviers (0123456789ABCDEF). En utilisant le format hexadécimal, on gagne en lisibilité.

Astalavista> Je cite «En premier lieu ce script sert a montrer qu'on peut cracker nimporte quelle chaine d'une facon ou d'une autre». Si on croit en l'unicité de MD5, alors si on considère une chaîne de 10 caractères a priori combinaison des 256 caractères de la table ASCII, à raison de 500 000 passes par seconde, il faut 70 milliards d'années théoriques pour retrouver le mot de passe. Ce genre de cryptage est d'ailleurs un argument de vente pour certains systèmes de cryptage commercial.

Mavounet> A vrai dire, tu as fais l'erreur de mettre un mot trop évident et surtout trop court. Alors en te vengeant avec «1EEC414ADF814ACBC887F59327DB58FB», tu veux nous faire deviner un mot grotesque bidouillé en 2 secondes sur ton clavier, style «kfj dsàeèr ç_è")r». Là, c'est sûr, on ne le trouvera pas. Pour imiter certains supercalculateurs, il faudrait unir la puissance de calcul de plusieurs PC connectés en réseau via une application dédiée à ce genre de choses... Dans mon commentaire qui suit, je te démontre que le mot de passe que tu nous as donné est effectivement attribué à «mdp», car il est strictement impossible d'en trouver un clone. Si de plus tu te venges avec une nouvelle clé, alors tu admets indirectement que «mdp» était bon (et pas besoin de nous faire croire le contraire, sinon tu nous aurais déjà donné l'autre clé prouvant alors que le MD5 n'est pas unique).

Kirua> «c'est au contraire très rare que sur un site tu puisses mettre MOINS que 8 caractères». En tout cas, sur CS, il ne sert à rien de vouloir compliquer les mdp (faut pas non plus tomber dans l'effet contraire), car si tu perds ton mdp, alors Nix peux te le réenvoyer par mail. Cela sous-entend que le mdp est en clair sur le serveur, ou codé par des scripts réversibles issus de ses hautes compétences, ou alors il se crée un mot de passe temporaire activé par mail qui fait changer le mdp et puis la connexion au site donne la possibilité de remodifier le mdp.

gergalp, coucou747> «Apache en priorité haute». Ca ne changerait pas grand chose. PHP est interprété, pas compilé, mais surtout consomme énormément de CPU par rapport à mon application. Pour coucou747, ce n'est pas parce que Apache et MySql sont les seules applications lancées qu'elles ont nécessairement haute priorité. Elles ont seulement à la limite, un flux plus libéré. Ce qui fait dire "haute priorité", c'est par rapport aux threads du modèle Windows. Ainsi, prenons un exemple: le displayer multimédia est VERY HIGH, mais le logiciel qui le gère est NORMAL. Et c'est NORMAL pour toute application lancée, sauf si cette dernière décide de s'éléver dans la hiérarchie. Les priorités servent juste à régler équitablement le multithreading en ne donnant pas plus de flux à une application plutôt qu'à une autre. Utiliser SetThreadPriority(...).


Par simple exercice algorithmique, pour TENTER de décrypter à 550 000 passes par seconde avec technique brutale et dictionnaire, voir le code suivant avec EXE intégré:
http://www.delphifr.com/code.aspx?ID=30641

J'en profite aussi pour faire un petit topo mathématique sur la sécurité du MD5, (ça vaut ce que ça vaut):

Commentaire de grandvizir le 09/04/2005 11:50:10

=======================
          MD5
=======================

Dans la "théorie" MD5, l'algorithme veut se rapprocher le plus possible du cas idéal où chaque clé correspond de manière unique à une chaîne, comme une sorte de bijection.

Le cryptage se fait sur 128 bits, donc 16 octets (1 octet = 8 bits).

Calculons la longueur maximale d'une chaîne avec l'assurance possible de l'unicite:
solve(SUM(256^k,k,0,n)=2^128,n)

On obtient:
n=15.999294179607

Quelque chose est choquant: comment peut-on faire la somme de 0 à N si N n'est pas entier. Oui, mais si on considère cette somme comme somme des termes d'une suite géométrique, alors on peut introduire une formule connue qui fait apparaître des puissances, puis des logarithmes lors de la résolution de l'équation. L'interprétation sur N reste cependant valable.

L'unicité absolue n'est assurée que pour les mots dont la longueur est strictement inférieure à 16. A partir de 16 caractères, étant donné que N est légèrement inférieur à 16, il y a des risques de dédoublement. Mais cela n'est vrai que si la distribution des clés se fait de manière continue et compacte depuis la chaîne de longueur zéro. Or, il n'y a aucune raison que les chaînes de 0 à 15 soient uniques, et pas celles de longueur 16. De plus, pourquoi la clé MD5 serait réservée uniquement à des chaînes de longueur au plus 16, car une chaîne de 50 caractères pourrait très bien ne pas être décodable dans l'intervalle [0..16].

On a donc plusieurs conclusions dans le cadre... :
  ¤ ... de l'idéal compact par la longueur: la répartition des clés se fait de manière unique et continue depuis zéro tant que la longueur reste strictement inférieure à 16, quitte à ce qu'un reste de clés se constitue pour la longueur 16.
  ¤ ... de la distribution homogène dans [0..16]: tous les mots de longueur au plus 16 ont la même probabilité d'être dédoublables, mais rien ne permet de détecter les doublons.
  ¤ ... de la distribution illimitée: une chaîne de 50 caractères pourrait très bien ne pas être décodable dans l'intervalle [0..16], et une chaîne de longueur au plus 16 pourrait avoir plusieurs degrés de multiplicité ce qui diminuerait son incassibilité.



Envisageons maintenant un hashage sur T bits. Le calcul de N ammène:
solve(SUM(256^k,k,0,n)=2^T,n)

Soit:
n=.18*ln(2^T+0.003921568627)-0.003913899321

LN désigne effectivement le logarithme népérien. Or, travaillant sur des hauts bitages, on peut négliger certains termes:
n=.18*ln(2^T)

Cela se simplifie, et on obtient une relation linéaire confirmée par la représentation graphique de la fonction du tout début:
n=.18*ln(2)*T
n=.12476649250079*T

D'ailleurs, en faisant une régression linéaire sur modèle affine (Y=AX+B), on obtient exactement le même résultat avec un bon coefficient R de corrélation. De plus, le coefficient directeur de la droite est cohérant à 1E­11 près. Cependant, il n'est pas nécessaire de garder autant de chiffres significatifs, étant donné que N est un entier.

On peut alors déduire les longueures de sécurite:
BITS  LONGUEUR
32    4
64    8
128   16
256   32
512   64
1024  128
2048  128
4096  512
8192  1024

Il suffit donc de diviser le bitage par 8 pour avoir la longueur maximale de sécurite sur laquelle les conclusions sur la distributivité des clés restent valables. Selon la conclusion que l'on choisit, on doit adopter diverses attitudes :
  ¤ Pour la première conclusion: je choisis un mot de longueur BITAGE/8 - 1.
  ¤ Pour la seconde : personne n'est sûr de l'incassabilité de sa clé, quelle que soit la longueur. Il faut alors choisir une clé de longueur BITAGE/8 car elle démultiplie les combinaisons pour les MD5-REA (Reverse Engineering Algorithm, [par méthode brutale bien sûr]).
  ¤ Pour la troisième : il se peut que mettre une chaîne de trop grande longueur augmente la probabilité d'avoir une chaîne de plus courte longueur ayant même MD5, mais si cette probabilité est nulle, alors la chaîne originale est véritablement incassable, car de longueur bien supérieure à la capacité du MD5.



Maintenant qu'on sait faire tout ça, peut-on estimer le nombre de combinaisons données par un cryptage sur T bits ? Ben oui, il suffit de reprendre notre somme:
L=SUM(256^k,k,0,n)
L=(256^(T+1)-1)/255

Définissions alors le nombre suivant qui permet de réduire significativement l'expression de L:
pL=log(L)

Grâce à lui, le nombre de combinaisons s'exprime comme 10 à la puissance pL, avec pL non forcément entier. Dans ce cas là, on repasse à l'exponentielle et au logarithme népérien.

Pour un hashage sur 128 bits (MD5), on a un L énorme. C'est pour cela qu'on préfère utiliser le nombre pL qui vaut alors seulement près de 308. Ainsi, on a environ 10^308 combinaisons distinctes: des milliards de milliards de milliards de... Vous voyez la sécurité du MD5 ! Un nombre avec 308 zéros... C'est inimaginable !!

A raison de 500 000 passes par seconde, on a tps=10^302 secondes, soit 3.10^292 millénaires. L'Univers n'est pas assez vieux... N'en disons pas plus si on considère des bitages encore plus grands, d'où l'argument commercial.

Commentaire de grandvizir le 09/04/2005 11:50:42

J'espère ne pas avoir commis de fautes de calcul.

Moralité: ce code source 19322 ne sert bien évidement à rien. Ce qu'on peut seulement gratifier avec ce genre de logiciels, c'est l'exercice de algorithmie. Ben ouais, c'est l'art de l'optimisation (Apache ne le permet pas). A défaut d'avoir des résultats concrets, on pourra se dire qu'on a tenté de faire les choses bien. De ce point de vue, on apprend des choses en programmation et ce n'est pas du tout négligeable.

Décrypter le MD5 ne sert à rien. Considérez plutôt le décodage MD5 comme une assurance pour retrouver des données que vous avez VOUS-MÊME cryptées, style un numéro de carte bancaire, le téléphone de votre amant ou la combinaison de votre coffre-fort... Bref, vous voyez l'intérêt PERSONNEL que cela peut avoir. Un cambrioleur ne pourait pas retrouver les données brutes (sous réserve que vous ayez tout de même agrémenté votre codage de certains caractères exotiques afin de démultiplier les combinaisons).

Sur mon code N°30641 (oui je sais, encore lui), je donne d'autres infos et des liens complémentaires pour différentes interfaces. N'hésitez pas à aller jeter un petit coup d'oeil si ça vous crypte q:))

Commentaire de jb_gfx le 11/04/2005 08:39:48

[quote]
Mavounet> A vrai dire, tu as fais l'erreur de mettre un mot trop évident et surtout trop court. Alors en te vengeant avec «1EEC414ADF814ACBC887F59327DB58FB», tu veux nous faire deviner un mot grotesque bidouillé en 2 secondes sur ton clavier, style «kfj dsàeèr ç_è")r». Là, c'est sûr, on ne le trouvera pas. Pour imiter certains supercalculateurs, il faudrait unir la puissance de calcul de plusieurs PC connectés en réseau via une application dédiée à ce genre de choses... Dans mon commentaire qui suit, je te démontre que le mot de passe que tu nous as donné est effectivement attribué à «mdp», car il est strictement impossible d'en trouver un clone. Si de plus tu te venges avec une nouvelle clé, alors tu admets indirectement que «mdp» était bon (et pas besoin de nous faire croire le contraire, sinon tu nous aurais déjà donné l'autre clé prouvant alors que le MD5 n'est pas unique).
[/quote]

Moi je souligné juste le fait que MD5 n'est pas un système fiable, dans le sens où, justement, il est possible de produire des doublons de hash MD5 correspondant à plusieurs chaînes (et Mavounet met ça en avant comme un avantage pour MD5, encore une preuve qu'il n'y comprend pas grand chose...).

Un exemple, tu as ton super mot de passe "dVQ_r^ü0oT" qui manque de bol produit un hash MD5 identique à la chaîne "mdp" (ce n'est pas le cas, c'est juste un exemple fictif). Alors voilà, il suffit d'injecter la chaîne MD5 pour casser ton super mot de passe, et ça n'a pris que 30 secondes pour la retrouver puisqu'elle est un clone d'un mot hyper simple ("mdp").

Et puis franchement dans le domaine de la sécurité y'a beaucoup d'algos beaucoup plus modernes et puissants que MD5 (SHA1...).
MD5 etant plutôt utilisé pour vérifier l'intégrité de fichiers (somme de contrôle), où là il est meilleur que CRC. Et si PHP inclus MD5 c'est pour cette raison première...

Commentaire de grandvizir le 15/04/2005 18:12:02

«La théorie reste vraie jusqu'à ce que l'expérience l'infirme». Donc, tant qu'aucun doublon MD5 n'est connu, personne ne peux affirmer que le MD5 n'est pas fiable. Si MD5 résiste autant, c'est pas par hasard... Breveté, quand même !

Si SHA1 est basé sur le même principe que MD5, alors utiliser SHA1 déplace simplement le problème. Passer de 128 à 160 bits diminue certes la probabilité de trouver des doublons (déjà ultra minimissimes), mais rien ne dit qu'ils ont disparu.

Avec SHA1, on a une longueur de sécurité de 20 caractères, ce qui multiplie le temps de brute force par 256 par caractère, soit: 1 SHA = 4 milliards de MD5.

Pour un usage courant, MD5 est donc tout à fait potable même si SHA1 est dit être nécessairement meilleur.

Commentaire de meech le 27/07/2005 01:02:49

Salut tout le monde,

En fait, poursuivant l'objectif de définir une clef dont l'unicité serait le fondement d'un champ d'une table de base de données, j'ai pensé au MD5.

En cherchant les "probabilités" de l'éventuel doublon, je remecrie le Ô Grand Vizir de cette réelle explication pleine de rationalité.

Sur le code source en lui-même, rien à dire du point de vue des méthodes de force brute (c'est pas bouveau, nouveau... mais bon...). Par contre, à propos de l'espoir de "cracker" (il me semblait que l'on craquait des clefs, pas du hash), je demeure très septique.

Meech'

Commentaire de dvdstory le 25/12/2005 07:48:34

defkrie est-ce que ta deja diffusé ton script ?
Si oui est-ce que tu peux nous passer l'adresse ?
ET si non ça serait très très sympa de le faire car ça m'interresse grave.
Merci d'avance

Commentaire de Kirua le 25/12/2005 11:31:03

Merci bcp granvizir, au fait, pour cette explication. J'ai quand même une question: comment arrives-tu au nombre de combis possibles du MD5, de l'ordre de 10^308 selon toi, or si je fais 256^16, simplement, ça ne concorde pas du tout du tout (même si c'est déjà grand)

Commentaire de coucou747 le 26/12/2005 12:56:07 administrateur CS

nbr=256^16
or 256=2^8
dc nbr=2 ^(8*16)
nbr=2^128 or 2^10 est environ égal à 10^3
nbr environ égal à 10^(3*13)
nbr environ égal à 10^39

Commentaire de Kirua le 26/12/2005 17:48:52

bah merci, c'est ce que j'ai fait aussi, et on est loin de 10 ^ 308 ! comprends pas :(

Commentaire de onvi le 13/01/2006 20:20:01

bonjour
c'est quoi doc.txt
comment se le procurer?

Commentaire de gergalp le 14/01/2006 12:59:33

c'est ne liste de mots dans un fichier texte.

c'est à toi de le faire, c'est une liste de mots de passes possibles.

Commentaire de benozor77 le 19/04/2006 13:17:35

Bonjour/Bonsoir,

J'en profite pour divulguer mon projet, un projet à titre *éducatif*.

Online MD5 Reverser:
http://ice.breaker.free.fr/
La présentation faite sur le site vous montrera de quoi il en ressort.

Bonne continuation à tous,
benozor77.

Commentaire de dom_ponge le 29/04/2006 03:39:43

Mais il y a juste une chose que je voudrai dire...
Si quelqu'un a accès a au mot de passe crypté en MD5 il peut SUREMENT le modifié donc mettre le mot de passe qu'il veut!C'est plus visible mais bon...

Commentaire de coucou747 le 02/05/2006 11:37:10 administrateur CS

euh.... et les acces en lecture seule ? comme le scan de réseau ? (entre la bdd et le serveur apache par exemple)

Commentaire de dom_ponge le 08/05/2006 03:07:17

Ouais c'est vrai.
Enfin bon moi je ne décrypterai pas des mots de passes en MD5...

Commentaire de ezechiel_7 le 21/06/2006 11:11:35

Citation..     Astalavista le 29/07/2004 12:21:59Envoyer un message à AstalavistaRetour au code
Bien jouer jb_gfx (et merci de me defendre),
Mavounet, un mot de passe n'est jamais (ou presque) un chaine de caractère, il est même souvent limiter a un nombre de caractère, c'est très rare que dans un site tu puisse mettre plus de 8 caractères pour un mot de passe ...
une fois que tu as la limite tu prend un dico avec au max le nombre limiter de caractre
c'est sur qu'on peut en entrer des mot de passe plus grand mais le but n'est pas de decrypter 50 caractère mais au maximum 8 caractères.


Pour résumer :

deux chaines différentes peuvent en effet donner le même résultat md5. Il est vrai que ceci est plutot le cas
avec des données volumineuses.( ce sont les chinois qui l'ont prouvés). Recherche google...

En effet, ce script va peut être servir pour des petits sites à la con. Mais un programmeur intélligent va utiliser la technique du salting. C'est koi? Rajouter n'importe quoi à la chaine de mdp..

function crypt($pass)
{
$pass=trim($pass)
$salt = "F983UYROHF8U3AORJMKJFGPSPFD793YR03TRJRTKHEFS89EYAF";
$pass=md5(trim($salt.$pass));
...}

Dis moi comment tu comptes retrouver le mdp avec un dictionnaire? L'utilisateur a pourtant rentré
un mdp de disons 8 caractères. Ou moins...

Pour ce qui est du SQL injection, suffit d'utiliser des fonctions comme sprintf() et autres
pour éviter qu'il y a du code qui passe..

Bref, il y a pas mal de prise de tête ici pour pas grand chose. Le pire c'est que vous avez tous un peu raison.
Astalavista, tu a clairement dit que le but était de retrouver des mdp "simples". Ce qui est possible par comparaison.
De l'autre coté, il est vrai que un autre mot peut être a l'origine du hash donné par Mavounet.
C'est vrai aussi qu'il aurai pu donner l'autre solution :p

NB : un code n'est jamais inutile. Il servira tout le temps, même si ce n'est que pour comprendre
certaines fonctions du langage utilisé,  c'est utile quand même. Donc un merci au nom de ceux pour qui ceci a été utile.

;) tchaio


Commentaire de caviar le 30/08/2006 09:19:48

salut tout le monde :)
intéréssant cette source :)
un autre petit site qui parle de ça
http://md5.rednoize.com

@++

Commentaire de pepekiss le 02/10/2006 01:01:13

un ptit dernier pour la route :
http://pepowned.free.fr/ :)

Commentaire de ThePilot le 05/11/2006 19:42:07

Je le dit tout de suite, j'ai pas testé cette source, mais j'ai déjà testé des systèmes de décodage de md5... Certes, sa marche pas toujours, mais beaucoup d'utilisateurs ne prennent pas de mots de passe compliqué, et pire, utilisent le même mot de passe pour tout.
De cette façon, et je ne m'en vante pas du tout, c'était juste pour "tester", j'ai réussi à rentrer dans des boîtes mail de certaines personne dont je connaissait les mot de passe hachés en md5...
Comme la majorité des internautes cherchent la simplicité... cette source peut être efficace.

Commentaire de Kirua le 06/11/2006 13:44:47

Les algos de brute force doivent tourner rapidemment, le PHP, c'est pas idéal pour ça. Avec une implémentation de base en C++ on tourne à 500 000 tets par seconde sur un PC "normal" (2GHz) si je me souviens bien. Ça fait combien ici?

Commentaire de juliennnn le 28/02/2007 20:51:34

moi j'ai une question je débute et je comprends pas avec quelle logiciel on transforme le code en programme. J'ai essayé de le passer sous bloc notes et d'enregistrer en .exe ca marche pas. quelqu'un peut m'expliquer rapidement ?

Commentaire de coucou747 le 01/03/2007 12:20:47 administrateur CS

transformer le code en programme, ca s'appelle compiler, ici, on ne compile pas, un programme interprete le code... faut chercher sur le net avant de poser des questions comme ca... cf phpdebutant ou php.net

Commentaire de mirmoleboss le 22/10/2007 10:14:41

moi jarrive pas a le faire fonctionner et pourtant mon dico ya des mots dedans
mais le fait quil yen ai plusieur parligne est il un probleme?

Commentaire de Astalavista le 02/11/2007 12:34:57

Houuuaa ... Mon programme a fait couler de l'encre ici :)
mirmoleboss :
Oui c'est un problème ... Un mot par ligne ...

Tous les autres :
Inutile de dire que ce script est lent ou que c'est impossible de trouver un mot de passe ...
Ce script est là à but Lucratif et non pour Cracker des mots de passes ... ( Pas comme juliennnn qui cherche a compiler ce code source alors qu'il est sur un site de PHP :) )

Commentaire de mirmoleboss le 02/11/2007 13:03:26

ok merci

Commentaire de Carnage le 31/01/2008 01:32:46

Si vous voulez décrypter un MD5, il existe une solution.
Ce site internet permet de décrypter des MD5, avec surement la plus grosse base de données sur internet.
L'adresse est : http://decrypt.vanvan.cc

Commentaire de duran22 le 26/04/2008 07:25:54 10/10

super beau merci pour ce post

Commentaire de swoofer le 16/11/2009 05:44:49

==================================================================
Commentaire de mavounet le 07/05/2004 11:41:36

Moi j'aimerai soutenir Hurricom qui a parfaitement raison ;)
pardon de vous décevoir ...

Pourquoi vous donner tant de mal à tenter de déchiffrer une chaine de caractère qui n'est pas contenue dans son empreite?
Je m'explique ...
MD5 permet de faire une empreinte numérique d'une chaîne de caractères afin de vérifier son authenticité par comparaison.
Je mets au défi quiconque de retrouver avec certitude LA chaîne de caractère suivante :

"aa36dc6e81e2ac7ad03e12fedcb6a2c0"


En effet, je pourrai mettre ma main à couper avec confiance que vous n'y arriverai pas, puisque le message dont l'empreinte est "aa36dc6e81e2ac7ad03e12fedcb6a2c0" n'est pas contenu ici.
On de décrypte pas md5 !!!
=========================================================================================

je suis p-t un peu en retard mais ton défi a échouer ^^ sa ma pris 0.035086 seconds a le trouver! loll...
Hash                                   Pass
aa36dc6e81e2ac7ad03e12fedcb6a2c0       mdp

Commentaire de geekgle le 01/03/2013 16:35:17

Bonjour,

L'idée est originale mais à mon avis c'est bien juste pour cracker un mot de passe récupéré avec une ARP poisoning. Car généralement sur les sites sensibles les passes bidons sont interdits (dico, chaine sans maj, sans chiffre...) et les mots de passes administrateurs ne se trouvent pas dans le dico (j'ose bien espérer). Et encore même faire un ARP poisoning ne sert quasi plus à rien, car de plus en plus de site proposent de bloquer un compte sur IP, une hôte, ou à l'aide d'un téléphone.

Même par contre une attaque par forcebrut est plus envisageable, car combien de sites ne filtre pas ou mal les requêtes POST.

Cordialement.

Commentaire de geekgle le 01/03/2013 16:36:10

Même > mais

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

MD5 - Visualisation du cryptage [ par sebounet62 ] Bonjour,Je recherche à afficher la valeur d'un MD5.&lt;?php$str = 'pomme';md5($str);echo '$str'?&gt; J'ai tenté de faire ce code mais cela ne fonction code pour cryptage MD5 en série [ par yaca ] Bonjour, Je suis débutant essaie de comprendre ce qui se passe dans vos lignes, mais je ne sais encore écrire seul!! Je voudrais crypter MD5 en série code pour cryptage MD5 en série [ par yaca ] Bonjour, J'ai une bdd Mysql où j'ai des mots de passe en clair. J'aimerais les coder MD5 en série, mais ne connais pas la programmation. J'ai bien réu cryptage [ par huricane ] Bonjour, J'ai un problème pour crypter de simple mot de passe dans une base de donnée. Je suis sous postgresql et je dispose d'une table utilisateur o Cryptage Sha [ par adeliz ] Bonjour.Voila, pour plus de sécurité (et pour ma culture perso :) ), je voudrais savoir comment crypter une phrase... Pour le moment j'arrive à le fai Cryptage email [ par atchoumen ] Bonjour,Je suis à la recherche d'un script qui permettrait de pouvoir préserver mes @ contre les robots. J'avais trouver un très bon script en javascr Authentification par challenge MD5 [ par psyjc ] Bonjour tout le monde,j'ai code un petit script d'authentification login/pass PHP qui fonctionne sur le principe d'un challange par MD5.le code est re Demande d'aide pour décoder un cryptage [ par hermesdesbrumes ] Bonjour tout le monde,Je ne ferai qu'une brève apparition sur votre forum,Je vous pries de bien vouloir m'excuser pour mon culot mais j'ai besoin de v Cryptage ou generateur [ par Moria ] Slt,Comment faire pour crypt xxx donne ? De la manière la plus simple, ( mais pas un md5 car c trop long )Comment faire pour genere une chaine de cara Problème de cryptage [ par BirD ] Hello, j'ai un petit problème au niveau du criptage de mes mots de passe:J'utilise la fonction crypt(); et jusque la tou va bien, il crypte mon mot de


Nos sponsors


Sondage...

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,229 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales