當前位置: 首頁> 最新文章列表> 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 擴展不僅簡潔高效,還能滿足大部分項目的安全需求。