阅读量:0
在 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 字节。根据所选的加密算法,这些长度可能会有所不同。