Ben Sinclair wrote:
That would work for me, but I have to deal with many files that I have already
encrypted and no longer know the correct sizes of. My search and replace for
the padding characters doesn't work because the files sometimes contain those
padding characters.
--
Ben Sinclair
[EMAIL PROTECTED]
Well, if your original files ended in NUL bytes you are out of luck, but
I don't think that is likely. You should be able to simply decrypt and
strip trailing NUL bytes to get the original files back. See example below.
-- Joe
=
?PHP
print (HTMLBODY\n);
$plaintext = 123456789;
echo Plaintext = . $plaintext . BR;
echo Plaintext length = . strlen($plaintext) . BR;
/*
* open the desired module
*/
$td = mcrypt_module_open (MCRYPT_TRIPLEDES, , MCRYPT_MODE_CBC, );
/*
* Just for illustration, a real iv should be random of course
*/
$iv = ;
/*
* and I hope a better password is actually used
*/
$key = mysecret;
/*
* initialize the module structures
*/
$ret = mcrypt_generic_init($td, $key, $iv);
/*
* finally encrypt it
*/
$ciphertext = mcrypt_generic($td, $plaintext);
echo Ciphertext length = . strlen($ciphertext) . BR;
/*
* get ready for decryption
*/
$ret = mcrypt_generic_init($td, $key, $iv);
/*
* now decrypt
*/
$newplaintext = mdecrypt_generic($td, $ciphertext);
$ptr = strlen($newplaintext);
echo New plaintext length = . $ptr . BR;
while (substr($newplaintext, $ptr - 1, 1) == chr(0))
{
$ptr--;
}
$origplaintext = substr($newplaintext, 0, $ptr);
echo Origplaintext = . $origplaintext . BR;
echo Origplaintext length = . strlen($origplaintext) . BR;
print (/BODY/HTML\n);
?
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]