par
alheskandre » 19 janv. 2007, 20:00
ta classe est pas mal, j'y est jeté un coup d'oeil...
Il manque un truc qui serait sympa, c'est que tu donne un IV et que si c'est trop longt, ca te la coupe.... Comme en delphi...
Sinon, en utilisant les nouvelles fonction de cryptage comme ceci:
<?php
function rijndael_crypt($data, $key)
{
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$iv = substr('abcdefghijklmnopqrstuvwxyz', 0, $iv_size);
$cipher = mcrypt_module_open(MCRYPT_RIJNDAEL_128,'','cbc','');
mcrypt_generic_init($cipher, $key, $iv);
echo '<br>decrypt iv: '.$iv.' key: '.$key.' data: '.$data.' <br>';
$encrypted = mcrypt_generic($cipher,$data);
mcrypt_generic_deinit($cipher);
return base64_encode($encrypted);
}
function rijndael_decrypt($data, $key)
{
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$iv = substr('abcdefghijklmnopqrstuvwxyz', 0, $iv_size);
$cipher = mcrypt_module_open(MCRYPT_RIJNDAEL_128,'','cbc','');
mcrypt_generic_init($cipher, $key, $iv);
echo '<br>decrypt iv: '.$iv.' key: '.$key.' data: '.$data.' <br>';
$decrypted = mdecrypt_generic($cipher,$data);
mcrypt_generic_deinit($cipher);
return base64_encode($decrypted);
}
echo '<br>Cryptage<br>';
$crypted = rijndael_crypt('alexandre','lol');
echo $crypted;
echo '<br>Decryptage...<BR>';
$decrypted = rijndael_decrypt($crypted, 'lol');
echo '<br> decrypted :'.$decrypted;
?>
Le script me renvoie
Cryptage
decrypt iv: abcdefghijklmnop key: lol data: alexandre
4qp0Z4tQbUBR9scqhESiRw==
Decryptage...
decrypt iv: abcdefghijklmnop key: lol data: 4qp0Z4tQbUBR9scqhESiRw==
decrypted :1QOIm5EiRbhAA65XY0+Jkir6+3vgMfOwL1r6Q8ku86c=
Il n'arrive toujour pas a decrypter... pourtant, tout est pareil, IV, clé, et j'ai bien verifié, quand je decrypte ce que renvoie ma fonction de cryptage avec un prog que j'ai fait sous windows, ca marche...
Je ne comprend vraiment pas pourquoi il ne veut pas décrypter...

ta classe est pas mal, j'y est jeté un coup d'oeil...
Il manque un truc qui serait sympa, c'est que tu donne un IV et que si c'est trop longt, ca te la coupe.... Comme en delphi...
Sinon, en utilisant les nouvelles fonction de cryptage comme ceci:
[php]
<?php
function rijndael_crypt($data, $key)
{
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$iv = substr('abcdefghijklmnopqrstuvwxyz', 0, $iv_size);
$cipher = mcrypt_module_open(MCRYPT_RIJNDAEL_128,'','cbc','');
mcrypt_generic_init($cipher, $key, $iv);
echo '<br>decrypt iv: '.$iv.' key: '.$key.' data: '.$data.' <br>';
$encrypted = mcrypt_generic($cipher,$data);
mcrypt_generic_deinit($cipher);
return base64_encode($encrypted);
}
function rijndael_decrypt($data, $key)
{
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$iv = substr('abcdefghijklmnopqrstuvwxyz', 0, $iv_size);
$cipher = mcrypt_module_open(MCRYPT_RIJNDAEL_128,'','cbc','');
mcrypt_generic_init($cipher, $key, $iv);
echo '<br>decrypt iv: '.$iv.' key: '.$key.' data: '.$data.' <br>';
$decrypted = mdecrypt_generic($cipher,$data);
mcrypt_generic_deinit($cipher);
return base64_encode($decrypted);
}
echo '<br>Cryptage<br>';
$crypted = rijndael_crypt('alexandre','lol');
echo $crypted;
echo '<br>Decryptage...<BR>';
$decrypted = rijndael_decrypt($crypted, 'lol');
echo '<br> decrypted :'.$decrypted;
?>
[/php]
Le script me renvoie
[quote]
Cryptage
decrypt iv: abcdefghijklmnop key: lol data: alexandre
4qp0Z4tQbUBR9scqhESiRw==
Decryptage...
decrypt iv: abcdefghijklmnop key: lol data: 4qp0Z4tQbUBR9scqhESiRw==
decrypted :1QOIm5EiRbhAA65XY0+Jkir6+3vgMfOwL1r6Q8ku86c=[/quote]
Il n'arrive toujour pas a decrypter... pourtant, tout est pareil, IV, clé, et j'ai bien verifié, quand je decrypte ce que renvoie ma fonction de cryptage avec un prog que j'ai fait sous windows, ca marche...
Je ne comprend vraiment pas pourquoi il ne veut pas décrypter... :tir2: