阅读量:4
在PHP中,可以使用openssl扩展库来实现AES加密。
下面是一个示例代码,演示了如何使用AES-256-CBC算法进行加密和解密:
<?php function encrypt($data, $key, $iv) { $cipher = "AES-256-CBC"; $options = OPENSSL_RAW_DATA; $encrypted = openssl_encrypt($data, $cipher, $key, $options, $iv); return base64_encode($encrypted); } function decrypt($encryptedData, $key, $iv) { $cipher = "AES-256-CBC"; $options = OPENSSL_RAW_DATA; $decrypted = openssl_decrypt(base64_decode($encryptedData), $cipher, $key, $options, $iv); return $decrypted; } // 设置加密密钥和初始向量(IV) $key = "0123456789abcdef"; // 256位(32字节)密钥 $iv = "abcdef0123456789"; // 128位(16字节)IV // 要加密的数据 $data = "Hello, World!"; // 加密 $encryptedData = encrypt($data, $key, $iv); echo "加密后的数据:" . $encryptedData . "\n"; // 解密 $decryptedData = decrypt($encryptedData, $key, $iv); echo "解密后的数据:" . $decryptedData . "\n"; ?>
请注意,这里的$key和$iv必须是指定长度的字节串,否则会抛出错误。在实际应用中,可以使用随机生成的字节串作为密钥和IV,以增加加密的安全性。