Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php aes加密

作者:狂暴的酷   发布日期:2025-05-23   浏览:98

<?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";

解释说明:

  1. 密钥和IV:AES加密需要一个密钥和一个初始化向量(IV)。密钥长度取决于使用的AES模式(如AES-128、AES-192、AES-256),而IV通常是随机生成的。
  2. 加密过程:使用openssl_encrypt函数对明文进行加密。加密后的密文和IV一起编码为Base64字符串,以便于传输和存储。
  3. 解密过程:解密时先将Base64字符串解码,分离出IV和密文,再使用openssl_decrypt函数进行解密。

如果你有任何问题或需要进一步的帮助,请告诉我!

上一篇:php http_build_query

下一篇:php7.4

大家都在看

php session用法

phpisset函数

php后端

php爬虫框架

php读取csv文件

php 三元表达式

php文件加密

php 拆分字符串

php pcntl

php ||

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站