在 PHP 中,可以使用 openssl_encrypt
和 openssl_decrypt
函数进行加密和解密。以下是一个简单的示例,展示了如何使用 AES-256-CBC 加密模式进行加密和解密:
<?php
// 密钥(确保密钥长度为32字节)
$key = 'your-32-character-secret-key';
// 初始化向量(确保初始化向量长度为16字节)
$iv = 'your-16-character-iv';
// 要加密的数据
$data = 'This is a message to be encrypted';
// 加密
$ciphertext = openssl_encrypt($data, 'AES-256-CBC', $key, 0, $iv);
echo 'Encrypted text: ' . $ciphertext . PHP_EOL;
// 解密
$plaintext = openssl_decrypt($ciphertext, 'AES-256-CBC', $key, 0, $iv);
echo 'Decrypted text: ' . $plaintext . PHP_EOL;
?>
在这个示例中,我们首先定义了一个密钥和一个初始化向量。然后,我们使用 openssl_encrypt
函数对数据进行加密,并将结果存储在 $ciphertext
变量中。接下来,我们使用 openssl_decrypt
函数对加密后的数据进行解密,并将结果存储在 $plaintext
变量中。最后,我们输出加密后的文本和解密后的文本。
请注意,密钥和初始化向量的长度对于某些加密算法是固定的。在这个示例中,我们使用了 AES-256-CBC 加密模式,其中密钥长度必须为 32 字节,初始化向量长度必须为 16 字节。根据所选的加密算法,这些长度可能会有所不同。