Последующая расшифровка завершается с размером файла 0 - PullRequest
0 голосов
/ 10 ноября 2018

Следующий скрипт работает нормально. Zip-файл зашифрован, txt-файл создан и сразу же успешно расшифрован, а новый zip-файл успешно создан.

Однако, если я запускаю часть дешифрования только потом, он не сможет расшифровать текстовый файл. Он возвращает пустую переменную $original_plaintext, а конечный zip-файл имеет размер 0. Ключ $ и $ iv не изменяются при втором запуске. Безопасность - это не проблема - мне просто нужен зашифрованный текстовый файл, а затем я должен иметь возможность расшифровать его позже.

$key = "sometext";  
$iv = "someothertext";  
$cipher = "aes-128-gcm";
$tag = NULL;

$fileRoot = "sql_2018_11_10";

if (in_array($cipher, openssl_get_cipher_methods())) {
    // Encrypt
    $plaintext = file_get_contents("tmp/$fileRoot.zip");
    $ciphertext = openssl_encrypt($plaintext, $cipher, $key, $options=0, $iv, $tag);
    file_put_contents("tmp/enc_$fileRoot.txt", $ciphertext);

    // Decrypt
    $ciphertext = file_get_contents("tmp/enc_$fileRoot.txt");   
    $original_plaintext = openssl_decrypt($ciphertext, $cipher, $key, $options=0, $iv, $tag);
    file_put_contents("tmp/uenc_$fileRoot.zip", $original_plaintext);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...