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.