Centralize legacy mcrypt decryption in jirafeau_decrypt_file_legacy()

Same as with `jirafeau_decrypt_file()` in a previous commit

`jirafeau_decrypt_file_legacy()` was also broken, a `mcrypt_generic_init()` was missing
This commit is contained in:
Patrick Canterino 2024-04-03 14:44:01 +02:00
parent 947b485e76
commit fab058b4ec
2 changed files with 3 additions and 17 deletions

18
f.php
View File

@ -254,23 +254,7 @@ elseif ($link['crypted']) {
}
/* Read encrypted file (legacy mode using mcrypt). */
elseif ($link['crypted_legacy']) {
/* Init module */
$m = mcrypt_module_open('rijndael-256', '', 'ofb', '');
/* Extract key and iv. */
$hash_key = md5($crypt_key);
$iv = jirafeau_crypt_create_iv($hash_key, mcrypt_enc_get_iv_size($m));
/* Init module. */
mcrypt_generic_init($m, $hash_key, $iv);
/* Decrypt file. */
$r = fopen(VAR_FILES . $p . $link['hash'], 'r');
while (!feof($r)) {
$dec = mdecrypt_generic($m, fread($r, 1024));
print $dec;
}
fclose($r);
/* Cleanup. */
mcrypt_generic_deinit($m);
mcrypt_module_close($m);
jirafeau_decrypt_file_legacy(VAR_FILES . $p . $link['hash'], 'php://output', $crypt_key);
}
/* Read file. */
else {

View File

@ -1315,6 +1315,8 @@ function jirafeau_decrypt_file_legacy($fp_src, $fp_dst, $k)
$crypt_key = $k;
$hash_key = md5($crypt_key);
$iv = jirafeau_crypt_create_iv($hash_key, mcrypt_enc_get_iv_size($m));
/* Init module. */
mcrypt_generic_init($m, $hash_key, $iv);
/* Decrypt file. */
$r = fopen($fp_src, 'r');
$w = fopen($fp_dst, 'c');