php 数据中台 Aes加密解密
时间: 2023-09-10 18:09:38 浏览: 185
php AES加密解密
在 PHP 中实现 AES 加密和解密可以使用 OpenSSL 扩展。下面是一个示例代码:
```php
<?php
function aes_encrypt($data, $key, $iv) {
$cipher = "AES-128-CBC";
$options = OPENSSL_RAW_DATA;
$encrypted = openssl_encrypt($data, $cipher, $key, $options, $iv);
return base64_encode($encrypted);
}
function aes_decrypt($encryptedData, $key, $iv) {
$cipher = "AES-128-CBC";
$options = OPENSSL_RAW_DATA;
$decrypted = openssl_decrypt(base64_decode($encryptedData), $cipher, $key, $options, $iv);
return $decrypted;
}
$data = "Hello, World!";
$key = "0123456789abcdef"; // 16 字节的密钥
$iv = "1234567890abcdef"; // 16 字节的初始向量
$encryptedData = aes_encrypt($data, $key, $iv);
echo "Encrypted: " . $encryptedData . "\n";
$decryptedData = aes_decrypt($encryptedData, $key, $iv);
echo "Decrypted: " . $decryptedData . "\n";
?>
```
上述示例中,`aes_encrypt` 函数用于对数据进行加密,`aes_decrypt` 函数用于对加密后的数据进行解密。需要注意的是,AES 加密需要提供一个16字节的密钥和一个16字节的初始向量(IV)。在示例中,我们使用了 AES-128-CBC 加密算法,也可以根据需要选择其他算法。
请注意,加密和解密操作需要使用相同的密钥和初始向量,否则将无法正确解密数据。此外,为了方便传输和存储,我们对加密后的数据进行了 Base64 编码。
阅读全文