AES-128-ECB和AES-256-CBC是两种常见的AES加密模式,它们在加密方式和安全性上有以下区别: 加密方式: AES-128-ECB:ECB(Electronic Codebook)模式是最简单的AES加密模式,它将数据
AES-128-ECB和AES-256-CBC是两种常见的AES加密模式,它们在加密方式和安全性上有以下区别:
class AES { private $key; private $iv; public function __construct($key, $iv) { $this->key = $key; $this->iv = $iv; } public function encrypt($data) { $encrypted = openssl_encrypt($data, 'AES-128-ECB', $this->key, OPENSSL_RAW_DATA); return base64_encode($encrypted); } public function decrypt($encryptedData) { $decrypted = openssl_decrypt(base64_decode($encryptedData), 'AES-128-ECB', $this->key, OPENSSL_RAW_DATA); return $decrypted; } public function encryptCBC($data) { $encrypted = openssl_encrypt($data, 'AES-256-CBC', $this->key, OPENSSL_RAW_DATA, $this->iv); return base64_encode($encrypted); } public function decryptCBC($encryptedData) { $decrypted = openssl_decrypt(base64_decode($encryptedData), 'AES-256-CBC', $this->key, OPENSSL_RAW_DATA, $this->iv); return $decrypted; }}// 使用示例:$key = '0123456789abcdef'; // 16字节长度的密钥$iv = 'fedcba9876543210'; // 16字节长度的初始向量$aes = new AES($key, $iv);$data = 'Hello, World!';$encryptedECB = $aes->encrypt($data);echo 'AES-128-ECB加密后的数据:' . $encryptedECB . "\n";$decryptedECB = $aes->decrypt($encryptedECB);echo 'AES-128-ECB解密后的数据:' . $decryptedECB . "\n";$encryptedCBC = $aes->encryptCBC($data);echo 'AES-256-CBC加密后的数据:' . $encryptedCBC . "\n";$decryptedCBC = $aes->decryptCBC($encryptedCBC);echo 'AES-256-CBC解密后的数据:' . $decryptedCBC . "\n";
来源地址:https://blog.csdn.net/weixin_39934453/article/details/131568980
--结束END--
本文标题: php对称加密AES加密解密
本文链接: https://www.lsjlt.com/news/387676.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0