当前位置:首页 > PHP

php实现aes

2026-02-28 07:05:17PHP

php实现aes

PHP 实现 AES 加密解密

PHP 提供了 openssl_encryptopenssl_decrypt 函数来实现 AES 加密和解密。以下是常见的 AES 加密模式(如 AES-256-CBC)的实现方法。

AES 加密

function encryptAES($data, $key, $iv) {
    $method = 'aes-256-cbc';
    $encrypted = openssl_encrypt($data, $method, $key, OPENSSL_RAW_DATA, $iv);
    return base64_encode($encrypted);
}

AES 解密

function decryptAES($encryptedData, $key, $iv) {
    $method = 'aes-256-cbc';
    $decrypted = openssl_decrypt(base64_decode($encryptedData), $method, $key, OPENSSL_RAW_DATA, $iv);
    return $decrypted;
}

使用示例

$key = 'your-32-byte-encryption-key-here'; // 32 字节密钥(AES-256)
$iv = 'your-16-byte-iv-here';             // 16 字节初始化向量(IV)

$plaintext = "Hello, AES!";
$encrypted = encryptAES($plaintext, $key, $iv);
$decrypted = decryptAES($encrypted, $key, $iv);

echo "Plaintext: " . $plaintext . "\n";
echo "Encrypted: " . $encrypted . "\n";
echo "Decrypted: " . $decrypted . "\n";

注意事项

  • 密钥长度:AES-256 需要 32 字节密钥,AES-192 需要 24 字节,AES-128 需要 16 字节。
  • IV 长度:初始化向量(IV)必须为 16 字节,且每次加密应使用不同的 IV。
  • 安全存储:密钥和 IV 应安全存储,避免硬编码在代码中。
  • 错误处理:实际使用时需添加错误检查逻辑。

php实现aes

标签: phpaes
分享给朋友:

相关文章

php实现websocket

php实现websocket

PHP 实现 WebSocket WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。PHP 可以通过多种方式实现 WebSocket 功能,以下是几种常见的方法: 使用 Rat…

php实现排序

php实现排序

PHP 数组排序方法 PHP 提供了多种内置函数用于数组排序,适用于不同的排序需求。以下是常见的排序方法: 按值升序排序 sort() 函数对数组按值升序排序,重置键名(索引数组适用): $n…

php实现异步

php实现异步

PHP 实现异步的方法 PHP 本身是同步执行的脚本语言,但可以通过以下方法模拟异步操作或实现异步效果: 使用多进程(pcntl_fork) 通过 pcntl_fork 创建子进程实现异步,适用于…

php实现跳转

php实现跳转

PHP 实现页面跳转的方法 在 PHP 中实现页面跳转有多种方式,以下是常见的几种方法及其适用场景: 使用 header() 函数 通过 header() 函数发送 HTTP 头部信息实现跳转。注…

php无限分类的实现

php无限分类的实现

PHP无限分类的实现 无限分类是一种常见的树形结构数据组织方式,适用于商品分类、菜单管理、地区选择等场景。以下是几种实现方法: 递归实现法 递归是最直观的实现方式,通过函数自身调用来遍历子分类。数…

php怎么实现登录功能

php怎么实现登录功能

数据库准备 创建用户表存储登录信息,通常包括用户名、密码(需加密)等字段。示例SQL: CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY…