PHP

php怎么实现aes加密解密

小亿
158
2024-02-02 10:17:38
栏目: 编程语言

在PHP中,可以使用openssl库来实现AES加密和解密。以下是一个示例代码:

function aesEncrypt($data, $key, $iv) {
    $encrypted = openssl_encrypt($data, 'AES-128-CBC', $key, OPENSSL_RAW_DATA, $iv);
    return base64_encode($encrypted);
}

function aesDecrypt($encryptedData, $key, $iv) {
    $decrypted = openssl_decrypt(base64_decode($encryptedData), 'AES-128-CBC', $key, OPENSSL_RAW_DATA, $iv);
    return $decrypted;
}

$key = '0123456789abcdef'; // 密钥,必须是16字节
$iv = '1234567890abcdef'; // 初始化向量,必须是16字节

$plainText = 'Hello, World!';

$encryptedData = aesEncrypt($plainText, $key, $iv);
echo 'Encrypted: ' . $encryptedData . "\n";

$decryptedData = aesDecrypt($encryptedData, $key, $iv);
echo 'Decrypted: ' . $decryptedData . "\n";

注意,以上代码中的密钥和初始化向量(IV)都必须是16字节长度的字符串。在实际使用中,请根据情况自行生成安全的密钥和IV。

此外,请确保PHP的openssl扩展已启用,可以通过检查php.ini文件或运行phpinfo()函数来确认。

0
看了该问题的人还看了