要使用readfile函數進行文件的加密和解密,可以按照以下步驟操作:
以下是一個使用readfile函數進行文件加密和解密的示例代碼(使用AES加密算法):
<?php
// 加密函數
function encrypt($data, $key) {
$cipher = "aes-256-cbc";
$ivlen = openssl_cipher_iv_length($cipher);
$iv = openssl_random_pseudo_bytes($ivlen);
$encrypted = openssl_encrypt($data, $cipher, $key, 0, $iv);
return $iv . $encrypted;
}
// 解密函數
function decrypt($data, $key) {
$cipher = "aes-256-cbc";
$ivlen = openssl_cipher_iv_length($cipher);
$iv = substr($data, 0, $ivlen);
$data = substr($data, $ivlen);
$decrypted = openssl_decrypt($data, $cipher, $key, 0, $iv);
return $decrypted;
}
// 讀取文件內容
$file = "file.txt";
$data = file_get_contents($file);
// 加密文件內容
$key = "secretkey";
$encrypted_data = encrypt($data, $key);
// 將加密后的內容寫入新文件
$encrypted_file = "encrypted_file.txt";
file_put_contents($encrypted_file, $encrypted_data);
// 解密文件內容
$decrypted_data = decrypt($encrypted_data, $key);
// 將解密后的內容寫入新文件
$decrypted_file = "decrypted_file.txt";
file_put_contents($decrypted_file, $decrypted_data);
?>
在上面的示例中,文件file.txt中的內容經過加密后寫入到encrypted_file.txt中,然后再解密后寫入到decrypted_file.txt中。您可以根據需要對加密算法和密鑰進行調整。