readfile函数实现文件加密与解密的方法解析

作者:袖梨 2026-05-22

掌握readfile函数实现文件加密解密功能,能有效提升数据安全性。下面将详细介绍具体操作流程。

如何使用readfile函数进行文件的加密与解密

  1. 首先需要打开目标文件,通过readfile函数完整读取文件内容。
  2. 选择AES或DES等加密算法,对获取的文件内容执行加密或解密处理。
  3. 将处理完成的数据写入新创建的目标文件中。
  4. 操作完成后,务必关闭原始文件和新生成的文件。

下面这段PHP代码演示了如何利用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);
?>

通过上述方法,可轻松实现文件加密存储和安全解密,用户可根据实际需求灵活调整加密参数。

相关文章

精彩推荐