<?php
// 定义需要加密/解密的字符串
$data = "Hello World!";
// 设置加密算法、模式和补位方式
$cipherMethod = 'AES-256-CBC'; // 可选值有:AES-128-ECB、AES-192-ECB、AES-256-ECB等
$ivLength = openssl_cipher_iv_length($cipherMethod);
$iv = random_bytes($ivLength);
$options = OPENSSL_RAW_DATA;
// 生成密钥(32字节)
$key = random_bytes(32);
// 对数据进行加密
$encryptedData = openssl_encrypt($data, $cipherMethod, $key, $options, $iv);
echo "加密后的结果:" . base64_encode($encryptedData) . "\n\n";
// 对加密后的数据进行解密
$decryptedData = openssl_decrypt($encryptedData, $cipherMethod, $key, $options, $iv);
echo "解密后的结果:" . $decryptedData . "\n\n";
?>
这段代码首先通过openssl_cipher_iv_length()
函数获取指定加密算法所需的初始化向量长度。然后使用random_bytes()
函数生成一个与IV长度相同的随机字节序列作为初始化向量。接下来,我们使用openssl_encrypt()
函数将明文数据 $data
按照指定的加密算法、密钥和其他参数进行加密,并返回加密后的二进制数据。最后,我们再次调用openssl_decrypt()
函数将加密后的数据解密得到原始数据。
【探索Linux】—— 强大的命令行工具 P.2(Linux下基本指令)(一)-CSDN博客
【探索Linux】—— 强大的命令行工具 P.2(Linux下基本指令)(二)-CSDN博客