以下是一个使用PHP实现AES加密的实例,我们将使用AES-256-CBC加密算法,并展示如何生成密钥和初始化向量(IV),然后进行加密和解密操作。
加密和解密步骤
| 步骤 | 描述 | PHP代码 |
|---|---|---|
| 1 | 生成密钥 | `$key='your-secret-key-256-bit';` |
| 2 | 生成IV | `$iv='your-iv-16-byte';` |
| 3 | 加密数据 | `$encrypted=openssl_encrypt($data,'aes-256-cbc',$key,OPENSSL_RAW_DATA,$iv);` |
| 4 | 转换加密数据为十六进制字符串 | `$encrypted_hex=bin2hex($encrypted);` |
| 5 | 解密数据 | `$decrypted=openssl_decrypt(hex2bin($encrypted_hex),'aes-256-cbc',$key,OPENSSL_RAW_DATA,$iv);` |
实例代码
```php
// 生成密钥
$key = 'your-secret-key-256-bit';
// 生成IV
$iv = 'your-iv-16-byte';
// 待加密的数据
$data = 'Hello, World!';
// 加密数据
$encrypted = openssl_encrypt($data, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
// 转换加密数据为十六进制字符串
$encrypted_hex = bin2hex($encrypted);
// 输出加密后的数据
echo 'Encrypted data: ' . $encrypted_hex . "

