md5

Eléphant du PHP | 113 Messages

26 déc. 2005, 19:53

joyeux nöel a tout le monde, je voudrais savoir juste un petit truc, quand on crypte par exemple un mot de pass d'un formulaire x en md5 en qu'on on le stock dans une BD on
a 32 caracéres, mais pour faire dans l'autre way c'est a dire on a 32 caractére et on veut les décrypter comment faire MErci

Mammouth du PHP | 1311 Messages

26 déc. 2005, 19:58

quand on parle de md5 on parle de hachage et non de cryptage la diffrence est simple en fait un hachage est unidirectionnel( et ne contient pas d'information concrete) et le cryptage est bidirectionnel

donc on ne peut pas theoriquement recupere des info a partir d'un md5 mais on peut les comparer
(je dis bien theoriquement mais je croit que md5 a été cracker il n'y a pas longtemps)

ViPHP
ViPHP | 2144 Messages

26 déc. 2005, 20:06

A ma connaissance, la seule façon de "casser" md5, c'est en brutforce, en générant tous les mots possibles, en les hashans et en les comparants au mot à "casser", plus le mot en clair est long, plus l'opération est longue et demande une machine puissante.

Eléphanteau du PHP | 11 Messages

29 déc. 2005, 14:07

sinon tu peux faire l'encryptage de pass dans ta base mysql. je sais plus trop comment mais je crois que tu a un truc du genr sha_encrypt ou un quelque que chose dans ce gout la, l'avantage étant de pouvoir décrypter après

ViPHP
fab
ViPHP | 2657 Messages

29 déc. 2005, 15:03

A ma connaissance, la seule façon de "casser" md5, c'est en brutforce, en générant tous les mots possibles, en les hashans et en les comparants au mot à "casser", plus le mot en clair est long, plus l'opération est longue et demande une machine puissante.
ça c'est une méthode effectivement mais comme la dit jeff et je confirme l'information que j'ai lu je sais plus trop ou, le md5 a été cracké par une agence de sécurité, enfin cela dit il faut quand même des machines surpuissantes pour faire ce genre de manipulations.
De plus a titre d'informations un hash md5 n'est théoriquement pas unique il se peut que "plop" est le même hash "salutjesuisfandephpfrance".
Enfin bref pour avoir un encodage encore un peu plus sur il suffit de rajouter un couche de cryptage perso sur un hash md5 :)
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

ViPHP
ViPHP | 1380 Messages

29 déc. 2005, 15:05

Comme on l'a dit plus haut, si tu veux un système réversible il faut te tourner vers le cryptage. Voici un exemple:
function monCrypt($texte, $cle){
  $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND);
  $texteCrypte = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $cle, $texte, MCRYPT_MODE_ECB, $iv);
  return base64_encode($texteCrypte);
}

function monDeCrypt($texte, $cle){
  $texte = base64_decode($texte);
  $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND);
  $texteClair = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $cle, $texte, MCRYPT_MODE_ECB, $iv);
  return trim($texteClair);
}

// CRYPTAGE
// la chaîne "PHPfrance" est la clé secrète d'encryptage/décryptage
$crypte = monCrypt('monMotDePasse', 'PHPfrance');

echo $crypte;
   // retourne --> 8dRz46eWT1B/t4lEMExLp1cyu1j8FsqLD+/WpONLiZc=

// DECRYPTAGE
echo '<br />'.monDeCrypt($crypte, 'PHPfrance');
   // retourne (heureusement) --> monMotDePasse
ripat