首页 >后端开发 >php教程 >如何使用现代库安全地加密和解密 PHP 中的文件?

如何使用现代库安全地加密和解密 PHP 中的文件?

DDD
DDD原创
2024-11-19 14:55:02878浏览

How Can I Securely Encrypt and Decrypt Files in PHP Using Modern Libraries?

使用 Mcrypt 加密和解密文件:一种现代方法

简介

Mcrypt,一次一个流行的 PHP 加密库,已被弃用,不再推荐使用。为了安全可靠的文件加密,OpenSSL 或 Sodium PHP 等现代替代方案提供了强大的解决方案。

加密函数

这是使用 OpenSSL 的更新加密函数:

function encryptFile($fileData, $key)
{
    $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('AES-256-CBC'));
    $encryptedData = openssl_encrypt($fileData, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
    return base64_encode($iv . $encryptedData);
}

解密函数

类似地,以下解密函数利用新库:

function decryptFile($encryptedData, $key)
{
    $ivSize = openssl_cipher_iv_length('AES-256-CBC');
    $iv = substr($encryptedData, 0, $ivSize);
    $encryptedData = substr($encryptedData, $ivSize);
    $decryptedData = openssl_decrypt($encryptedData, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
    return $decryptedData;
}

用法

要加密文件,请读取其将内容保存到变量中,使用内容和加密密钥调用 encryptFile 函数,并将加密数据保存到输出文件。

要解密,请将加密文件的内容读取到变量中,使用加密数据和解密密钥调用decryptFile 函数,并将解密数据写入输出文件。

结论

通过利用现代加密库,您可以安全地加密和解密 PHP 中的文件,确保敏感信息的机密性和完整性数据。

以上是如何使用现代库安全地加密和解密 PHP 中的文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn