<?php
// 定义加密和解密函数
// 加密函数
function encrypt($data, $key) {
// 使用openssl对称加密,AES-256-CBC算法
$method = 'AES-256-CBC';
// 生成随机的初始化向量(IV)
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length($method));
// 执行加密操作
$encrypted = openssl_encrypt($data, $method, $key, 0, $iv);
// 将IV和加密后的数据一起返回,以便解密时使用
return base64_encode($iv . $encrypted);
}
// 解密函数
function decrypt($data, $key) {
// 使用openssl对称加密,AES-256-CBC算法
$method = 'AES-256-CBC';
// 解码base64编码的数据
$data = base64_decode($data);
// 提取初始化向量(IV)和加密后的数据
$iv_len = openssl_cipher_iv_length($method);
$iv = substr($data, 0, $iv_len);
$encrypted = substr($data, $iv_len);
// 执行解密操作
return openssl_decrypt($encrypted, $method, $key, 0, $iv);
}
// 示例用法
$key = "your-secret-key"; // 密钥需要是32字节长,对于AES-256
$data = "Hello, World!";
$encrypted_data = encrypt($data, $key);
echo "Encrypted: " . $encrypted_data . "\n";
$decrypted_data = decrypt($encrypted_data, $key);
echo "Decrypted: " . $decrypted_data . "\n";
?>
加密函数 (encrypt):
AES-256-CBC 算法进行对称加密。解密函数 (decrypt):
AES-256-CBC 算法进行解密。示例用法:
$key 和要加密的数据 $data。encrypt 函数进行加密,并输出加密后的结果。decrypt 函数进行解密,并输出解密后的结果。上一篇:php 连接数据库
下一篇:php require
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站