在PHP中使用AES加密解密,可以使用openssl_encrypt
和openssl_decrypt
函数。以下是一个使用AES-256-CBC模式的示例:
<?php
$key = 'your-256-bit-secret-key'; // 256位密钥
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc'));
// 加密
$data = "Hello, World!";
$encrypted = openssl_encrypt($data, 'aes-256-cbc', $key, 0, $iv);
echo "Encrypted: " . base64_encode($encrypted) . "\n";
// 解密
$decrypted = openssl_decrypt(base64_decode($encrypted), 'aes-256-cbc', $key, 0, $iv);
echo "Decrypted: " . $decrypted . "\n";
?>
确保你的密钥长度符合所选加密算法的要求(AES-256需要256位密钥)。$iv
是初始化向量,它应该是随机生成的,并在加密和解密过程中都需要使用相同的值。
注意:示例中使用了base64编码来方便地显示和传输加密数据。在实际应用中,你应该避免将加密数据通过URL传输,而是通过安全的方式(例如数据库,文件系统等)存储和传输。