在PHP中,可以使用openssl库来实现AES加密。
以下是一个使用openssl库进行AES加密的示例代码:
<?php
function encrypt($data, $key, $iv) {
$ciphertext = openssl_encrypt($data, 'AES-128-CBC', $key, OPENSSL_RAW_DATA, $iv);
return base64_encode($ciphertext);
}
function decrypt($data, $key, $iv) {
$ciphertext = base64_decode($data);
return openssl_decrypt($ciphertext, 'AES-128-CBC', $key, OPENSSL_RAW_DATA, $iv);
}
$data = 'Hello, World!';
$key = '0123456789abcdef';
$iv = 'fedcba9876543210';
$encrypted = encrypt($data, $key, $iv);
echo 'Encrypted: ' . $encrypted . "\n";
$decrypted = decrypt($encrypted, $key, $iv);
echo 'Decrypted: ' . $decrypted . "\n";
?>
在上述代码中,encrypt
函数使用openssl_encrypt
函数对数据进行AES加密,并使用base64_encode
函数将加密后的数据转换为可读的字符串。decrypt
函数则是对加密后的数据进行解密的过程,它使用base64_decode
函数将加密后的字符串转换为二进制数据,然后使用openssl_decrypt
函数进行解密。
请注意,以上示例中使用的是AES-128算法和CBC模式,如果需要使用其他算法或模式,可以调整openssl_encrypt
和openssl_decrypt
函数的参数。
同时,要确保安装了OpenSSL扩展,否则无法使用上述代码。