Bonjour,
J'ai trouvé 2 fonctions pour chiffrer du texte sur php.net (utilisant mcrypt) :
function Crypter($str, $key)
{
# Add PKCS7 padding.
$block = mcrypt_get_block_size('des', 'ecb');
if (($pad = $block - (strlen($str) % $block)) < $block) {
$str .= str_repeat(chr($pad), $pad);
}
return mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
}
function Decrypt($str, $key)
{
$str = mcrypt_decrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
# Strip padding out.
$block = mcrypt_get_block_size('des', 'ecb');
$pad = ord($str[($len = strlen($str)) - 1]);
if ($pad && $pad < $block && preg_match(
'/' . chr($pad) . '{' . $pad . '}$/', $str
)
) {
return substr($str, 0, strlen($str) - $pad);
}
return $str;
}
Le problème est que le decryptage des mots de pass ne marche pas.
J'ai :
const Cle = "\xc8\xd9\xb9\x06\xd9\xe8\xc9\xd2";
et dans un fichier test.php :
$crypt = $check->Crypter('test@gmail.com',$check->Cle);
$rep = $check->Decrypt('¾Ñ¡• jª²¥aêâZ¤E',$check->Cle);
Crypt me donne ¾Ñ¡• jª²¥aêâZ¤E pour test@gmail.com,cela semble marcher. Decrypt me sort : &ˆÁ«³ÜX]¿¨ˆ1²Ä1$TgQgö‰!¼4ZÜü®¬ au lieu de test@gmail.com...
Je ne pige rien à ces fonctions. J'aimerai simplement un cryptage réversible et sur.
Merci d'avance pour votre aide