Page 1 sur 1

problème avec mcrypt

Posté : 15 juil. 2008, 23:52
par bucheron
Hello tout le monde,

je rencontre des difficultés avec l'encryption et décryption avec mcrypt.

Voila mon code
class Util {
	//Fonction qui crypte le texte
	static function crypter( $texte ){

		$algo = "blowfish"; // ou la constante php MCRYPT_BLOWFISH
		$mode = "nofb"; // ou la constante php MCRYPT_MODE_NOFB
		
		$key_size = mcrypt_module_get_algo_key_size($algo);
		$iv_size = mcrypt_get_iv_size($algo, $mode);
		
		$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
		$cle = "cle";
		$crypte = mcrypt_encrypt($algo, $cle, $texte, $mode, $iv);
		
		return $crypte;
	}
	
	//Fonction qui décrypte le texte
	static  function decrypter( $texte ){
		
		$algo = "blowfish"; // ou la constante php MCRYPT_BLOWFISH
		$mode = "nofb"; // ou la constante php MCRYPT_MODE_NOFB
		
		$key_size = mcrypt_module_get_algo_key_size($algo);
		$iv_size = mcrypt_get_iv_size($algo, $mode);
		
		$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
		$cle = "cle";
		$deCrypte = mcrypt_decrypt($algo, $cle, $texte, $mode, $iv);
		
		return $deCrypte;
		
	}
}
j'ai utilisé le tuto de phpfrance.
Si j'encrypte puis décrypte le message je n'obtiens pas du tout le même qu'initialement.
Qu'aie je fais de faux ?

Posté : 17 juil. 2008, 13:43
par bucheron
personne n'a une piste à me donner ?

Posté : 17 juil. 2008, 15:20
par guilt92
Pour etre franc je n'ai jamais utilisé ces fonctions donc peut etre que mon avis est incorrect mais je pense que le probleme vient de la :
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); 
tu crées un IV différent dans l'encryption et le decryptage, ne faudrait il pas le stocker et avoir le même ?

encore une fois c'est une suggestion qui peut etre est absurde...