OpenSSL Encrypt & Decrypt Files on Server

Simple and basic example. No clue about end security, only post for proof of concept.

<?php
$key = 'bRuD5WYw5wd0rdHR9yLlM6wt2vteuiniQBqE70nAuhU=';

function my_encrypt($data, $key) {
    $encryption_key = base64_decode($key);
    $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc'));
    $encrypted = openssl_encrypt($data, 'aes-256-cbc', $encryption_key, 0, $iv);
    return base64_encode($encrypted . '::' . $iv);
}

function my_decrypt($data, $key) {
    $encryption_key = base64_decode($key);
    list($encrypted_data, $iv) = explode('::', base64_decode($data), 2);
    return openssl_decrypt($encrypted_data, 'aes-256-cbc', $encryption_key, 0, $iv);
}

$code = file_get_contents('path/to/code.php'); //Get the code to be encypted.
$encrypted_code = my_encrypt($code, $key); //Encrypt the code.
echo 'Encrypted Code <br><br>';
echo $encrypted_code;

file_put_contents('path/to/save/encrypted_code.php', $encrypted_code); //Save the ecnypted code somewhere.

$encrypted_code = file_get_contents('path/to/save/encrypted_code.php'); //Get the encrypted code.
$decrypted_code = my_decrypt($encrypted_code, $key);//Decrypt the encrypted code.
echo 'Decrypted Code <br><br>';
echo $decrypted_code;

file_put_contents('path/to/save/code.php', $decrypted_code); //Save the decrypted code somewhere.