温馨提示×

php中aes加密解密怎么实现

PHP
小亿
313
2024-06-11 15:11:28
栏目: 编程语言

在PHP中实现AES加密和解密可以使用 PHP 的 OpenSSL 扩展,以下是一个简单的示例:

// 加密函数
function encrypt($data, $key, $iv) {
    return openssl_encrypt($data, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
}

// 解密函数
function decrypt($data, $key, $iv) {
    return openssl_decrypt($data, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
}

// 加密
$key = 'YourSecretKey';
$iv = random_bytes(16); // 随机生成一个16字节的初始化向量
$data = 'Hello, World!';
$encrypted = encrypt($data, $key, $iv);

// 解密
$decrypted = decrypt($encrypted, $key, $iv);

echo '加密前:' . $data . PHP_EOL;
echo '加密后:' . base64_encode($encrypted) . PHP_EOL;
echo '解密后:' . $decrypted . PHP_EOL;

上面的示例中,首先定义了 encryptdecrypt 两个函数,分别用于对数据进行加密和解密。然后生成了一个 16 字节的随机初始化向量,使用指定的密钥对数据进行加密,并最后解密。

注意:在实际应用中,需要使用安全的方法来存储和传输密钥和初始化向量,以确保数据的安全性。

0