<?php
// AES加密示例代码
// 密钥和初始化向量 (IV)
$key = "1234567890123456"; // 16字节密钥,适用于AES-128
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-128-cbc')); // 生成随机IV
// 待加密的明文
$plaintext = "这是一个需要加密的字符串";
// 加密
$ciphertext = openssl_encrypt($plaintext, 'aes-128-cbc', $key, OPENSSL_RAW_DATA, $iv);
// 将加密后的数据和IV一起编码为base64字符串,方便传输和存储
$encrypted = base64_encode($iv . $ciphertext);
echo "加密后的数据: " . $encrypted . "\n";
// 解密
$combined = base64_decode($encrypted);
$iv_len = openssl_cipher_iv_length('aes-128-cbc');
$iv_dec = substr($combined, 0, $iv_len);
$ciphertext_dec = substr($combined, $iv_len);
$decrypted = openssl_decrypt($ciphertext_dec, 'aes-128-cbc', $key, OPENSSL_RAW_DATA, $iv_dec);
echo "解密后的数据: " . $decrypted . "\n";
openssl_encrypt
函数对明文进行加密。加密后的密文和IV一起编码为Base64字符串,以便于传输和存储。openssl_decrypt
函数进行解密。如果你有任何问题或需要进一步的帮助,请告诉我!
下一篇:php7.4
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站