Как загрузить файл и зашифровать этот файл и сохранить в базе данных - PullRequest
0 голосов
/ 24 апреля 2019

Я получаю ошибку с этим кодом PHP.Я хочу зашифровать этот загружаемый файл и сохранить.Затем при загрузке он должен расшифровать и загрузить оригинальный файл.

$handle = fopen($file, "rb") or die("could not open the file");
        $contents = fread($handle, filesize($file));
        fclose($handle);
        $iv = substr(md5("\x18\x3C\x58" . $passphrase, true), 0, 8);
        $key = substr(md5("\x2D\xFC\xD8" . $passphrase, true) . md5("\x2D\xFC\xD8" . $passphrase, true), 0, 24);
        $opts = array('iv' => $iv, 'key' => $key);
        $fp = fopen($destination, 'wb') or die("Could not opn file for writing");
        stream_filter_append($fp, 'mcrypt.tripledes', STREAM_FILTER_WRITE, $opts);
        fwrite($fp, $contents) or die('Could not write to file');
        fclose($fp);
    }

    function decrypt_file($file, $passphrase) {
        $iv = substr(md5("\x18\x3C\x58" . $passphrase, true), 0, 8);
        $key = substr(md5("\x2D\xFC\xD8" . $passphrase, true) . md5("\x2D\xFC\xD8" . $passphrase, true), 0, 24);
        $opts = array('iv' => $iv, 'key' => $key);
        $fp = fopen($file, 'rb');
        stream_filter_append($fp, 'mdecrypt.tripledes', STREAM_FILTER_READ, $opts);
        return $fp;
    }

    $filename = "test.txt";
//encrypt file
    encrypt_file($filename, "encrypted/" . $filename, 'secret-password');
//decrypt file
    $decrypted = decrypt_file('encrypted/' . $filename, 'secret-password');
    header('Content-type:application/txt');
    fpassthru($decrypted);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...