Forum Moderators: coopster

Message Too Old, No Replies

Mcrypt troubles

         

ahmedtheking

7:41 pm on May 15, 2007 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Can someone tell me where I'm going wrong:

// function for encrypting
function encryptThis ($input) {
$td = mcrypt_module_open('rijndael-256', '', 'ecb', '');
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, EKEY, $iv);
return base64_encode(mcrypt_generic($td, trim($input)));
mcrypt_generic_deinit($td);
mcrypt_module_close($td);

}

// function for decrypting
function decryptThis ($input) {
$td = mcrypt_module_open('rijndael-256', '', 'ecb', '');
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, EKEY, $iv);
return mdecrypt_generic($td, base64_decode(trim($input)));
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
}

echo decryptThis(encryptThis("Here's a test")); >>>>>> Here's a test? (with a load of tailed '?')

ahmedtheking

11:34 pm on May 15, 2007 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



*** UPDATE ***

I've now changed the functions to this:

// function for encrypting
function encryptThis ($input) {
$iv_size = mcrypt_get_iv_size(MCRYPT_TRIPLEDES, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
return base64_encode(mcrypt_encrypt(MCRYPT_TRIPLEDES, EKEY, $input, MCRYPT_MODE_ECB, $iv));
}

// function for decrypting
function decryptThis ($input) {
$iv_size = mcrypt_get_iv_size(MCRYPT_TRIPLEDES, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
return mcrypt_decrypt(MCRYPT_TRIPLEDES, EKEY, base64_decode($input), MCRYPT_MODE_ECB, $iv);
}

There's still a load of? after each decrypted value, don't know why they're there!

ahmedtheking

11:41 am on May 16, 2007 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



DONE IT! I found out that I need to trim() the decrypted data.