阅读量:0
在PHP中实现对称加密算法可以使用openssl_encrypt
和openssl_decrypt
函数。以下是一个简单的示例:
// 加密函数 function encrypt($data, $key, $iv) { $encrypted = openssl_encrypt($data, 'AES-256-CBC', $key, 0, $iv); return base64_encode($encrypted); } // 解密函数 function decrypt($data, $key, $iv) { $decrypted = openssl_decrypt(base64_decode($data), 'AES-256-CBC', $key, 0, $iv); return $decrypted; } // 生成随机密钥和初始化向量 $key = openssl_random_pseudo_bytes(32); $iv = openssl_random_pseudo_bytes(16); // 要加密的数据 $data = 'Hello, World!'; // 加密数据 $encryptedData = encrypt($data, $key, $iv); echo 'Encrypted Data: ' . $encryptedData . PHP_EOL; // 解密数据 $decryptedData = decrypt($encryptedData, $key, $iv); echo 'Decrypted Data: ' . $decryptedData . PHP_EOL;
在这个示例中,我们使用AES-256-CBC对称加密算法对数据进行加密和解密。首先生成一个随机的32字节密钥和16字节的初始化向量,然后使用encrypt
函数对数据进行加密,再使用decrypt
函数对加密的数据进行解密。最后输出加密和解密的结果。