PHP AES加密:保护数据安全的高级加密技术
<?php
// 加密函数
function encrypt($data, $key) {
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc'));
$encrypted = openssl_encrypt($data, 'aes-256-cbc', $key, 0, $iv);
return base64_encode($encrypted . '::' . $iv);
}
// 解密函数
function decrypt($data, $key) {
list($encryptedData, $iv) = explode('::', base64_decode($data), 2);
return openssl_decrypt($encryptedData, 'aes-256-cbc', $key, 0, $iv);
}
// 使用示例
$key = 'your-256-bit-secret'; // 256位密钥
$plaintext = 'Hello, this is a secret message!';
// 加密
$encrypted = encrypt($plaintext, $key);
echo "Encrypted: " . $encrypted . "\n";
// 解密
$decrypted = decrypt($encrypted, $key);
echo "Decrypted: " . $decrypted . "\n";
?>
这段代码提供了使用AES-256-CBC模式进行加密和解密的函数。在使用时,你需要替换$key
变量的值为你自己的256位密钥。这段代码使用了openssl
扩展来处理加密和解密,并使用了一个伪随机初始化向量(IV)。加密后的数据会使用base64
编码以便于存储和传输。
评论已关闭