当前位置: 首页> 最新文章列表> PHP 中文加密完整教程:openssl_encrypt 与 openssl_decrypt 使用指南

PHP 中文加密完整教程:openssl_encrypt 与 openssl_decrypt 使用指南

M66 2025-10-29

PHP 中文加密概述

在 PHP 中,对中文文本进行加密主要依赖 openssl 扩展。通过使用 openssl_encrypt() 和 openssl_decrypt() 函数,可以实现数据的安全加密和解密。

安装 openssl 扩展

首先确保 PHP 环境中已安装 openssl 扩展。如果尚未安装,可以使用以下命令进行安装:

pecl install openssl

使用 openssl_encrypt() 加密中文

openssl_encrypt() 函数用于对数据进行加密。基本语法如下:

string openssl_encrypt(string $data, string $cipher, string $key, int $options, string $iv)

参数说明

  • $data:要加密的中文文本
  • $cipher:加密算法,推荐使用 AES-256-CBC
  • $key:加密密钥,长度必须为 32 字节
  • $options:加密选项,通常使用 OPENSSL_RAW_DATA
  • $iv:初始化向量,长度必须为 16 字节

示例代码

$data = '中文文本';
$key = '32字节长的加密密钥';
$iv = '16字节长的初始化向量';

$encrypted_data = openssl_encrypt($data, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);

使用 openssl_decrypt() 解密

加密后的数据可以使用 openssl_decrypt() 函数进行解密。语法与加密函数相同:

string openssl_decrypt(string $data, string $cipher, string $key, int $options, string $iv)

解密示例

$decrypted_data = openssl_decrypt($encrypted_data, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);

注意事项

  • 加密和解密使用的密钥与初始化向量必须一致。
  • 确保加密密钥安全可靠,避免泄露。
  • 根据安全要求选择合适的加密算法和密钥长度,以保证数据安全。

总结

通过以上步骤,您可以在 PHP 中实现对中文文本的安全加密和解密操作。使用 openssl 扩展不仅简洁高效,还能满足大部分项目的安全需求。