在PHP中,如果你不知道密钥,是无法解密加密的数据的。加密算法是基于密钥的,密钥是解密过程中必须的信息。
以下是一个示例代码,展示了如何使用AES算法在PHP中进行加密和解密,包括了密钥的生成和使用:
// 生成随机密钥
$key = openssl_random_pseudo_bytes(32); // 256位密钥
// 要加密的原始数据
$data = "Hello, World!";
// 加密数据
$encrypted = openssl_encrypt($data, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
// 输出加密后的数据
echo base64_encode($encrypted);
// 解密数据
$decrypted = openssl_decrypt($encrypted, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
// 输出解密后的数据
echo $decrypted;
以上代码中,使用openssl_random_pseudo_bytes()
函数生成了一个256位的随机密钥。然后使用openssl_encrypt()
函数对要加密的数据进行加密,使用openssl_decrypt()
函数对加密后的数据进行解密。
请注意,如果你不知道密钥,是无法解密加密的数据的。在实际应用中,密钥的生成和管理需要特别注意,确保密钥的安全性。