在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擴展,否則無法使用上述代碼。