PHP实现AES对称加密

简介: PHP实现AES对称加密

1.mcrypt 函数php的7以上已经废弃该方法,所以这里的aes是基于openssl_encrypt实现。代码如下

class Aes
 {
    public $key = '';
    public $iv = '';
    public function __construct( $config )
    {
        foreach ( $config as $k => $v ) {
            $this->$k = $v;
        }
    }
    //加密
    public function aesEn( $data ) {
        return  base64_encode( openssl_encrypt( $data, $this->method, $this->key, OPENSSL_RAW_DATA, $this->iv ) );
    }
    //解密
    public function aesDe( $data ) {
        return openssl_decrypt( base64_decode( $data ),  $this->method, $this->key, OPENSSL_RAW_DATA, $this->iv );
    }
}
$config = [
    'key' =>  'mkeymkeymkeymkey', //加密key
    'iv'  =>  str_repeat("\0", 16),//保证偏移量为16位,这里是16位空字符串,也可以和key一样16字符串,还可以是变化的,比如md5成16位原文,substr(md5("haha"),8,16),变化的需要保证同一个字符串加解密的iv保持一致。
    'method'  => 'AES-128-CBC' //加密方式  # AES-256-CBC等
];
//openssl_encrypt的第四个参数为1或者OPENSSL_RAW_DATA时填充方式为pks5padding或者pks7padding的结果一样,其他参数值待验证
$obj = new Aes( $config );
//加密数据
$res = $obj->aesEn( 'haha' );
echo $res;
echo '<hr>';
//解密
echo $obj->aesDe( $res );


相关文章
|
5月前
|
存储 缓存 安全
php项目源码加密之Zend Guard Loader加密的代码解密可能性很小-优雅草卓伊凡
php项目源码加密之Zend Guard Loader加密的代码解密可能性很小-优雅草卓伊凡
225 2
|
8月前
|
算法 安全 数据安全/隐私保护
基于AES的遥感图像加密算法matlab仿真
本程序基于MATLAB 2022a实现,采用AES算法对遥感图像进行加密与解密。主要步骤包括:将彩色图像灰度化并重置大小为256×256像素,通过AES的字节替换、行移位、列混合及轮密钥加等操作完成加密,随后进行解密并验证图像质量(如PSNR值)。实验结果展示了原图、加密图和解密图,分析了图像直方图、相关性及熵的变化,确保加密安全性与解密后图像质量。该方法适用于保护遥感图像中的敏感信息,在军事、环境监测等领域具有重要应用价值。
359 35
|
存储 安全 数据安全/隐私保护
浅谈对称加密(AES与DES)
浅谈对称加密(AES与DES)
456 1
|
Linux PHP 数据安全/隐私保护
2024授权加密系统PHP网站源码
2024授权加密系统PHP网站源码
348 58
|
数据安全/隐私保护
aes之ecb模式的加密解密
aes之ecb模式的加密解密
|
存储 安全 数据安全/隐私保护
安全升级!Python AES加密实战,为你的代码加上一层神秘保护罩
【9月更文挑战第12天】在软件开发中,数据安全至关重要。本文将深入探讨如何使用Python中的AES加密技术保护代码免受非法访问和篡改。AES(高级加密标准)因其高效性和灵活性,已成为全球最广泛使用的对称加密算法之一。通过实战演练,我们将展示如何利用pycryptodome库实现AES加密,包括生成密钥、初始化向量(IV)、加密和解密文本数据等步骤。此外,还将介绍密钥管理和IV随机性等安全注意事项。通过本文的学习,你将掌握使用AES加密保护敏感数据的方法,为代码增添坚实的安全屏障。
578 8
|
安全 测试技术 Go
Python 和 Go 实现 AES 加密算法的技术详解
Python 和 Go 实现 AES 加密算法的技术详解
751 0
|
安全 算法 数据安全/隐私保护
黑客克星!Python加密艺术大公开,AES、RSA双剑合璧,守护你的数字世界
在这个数据泛滥的时代,数字世界既充满了知识,也潜藏安全隐患。Python 作为强大的编程语言,以其独特的加密技术为我们的信息安全保驾护航。本文将介绍 AES 和 RSA 这两种加密算法,揭示它们如何协同工作,保护你的数字世界。AES(高级加密标准)以其高效、安全著称,能将敏感信息转化为难以破解的乱码。Python 的 `pycryptodome` 库让 AES 加密变得简单易行。然而,AES 面临密钥分发难题,此时 RSA(非对称加密算法)便大显身手,通过公钥加密、私钥解密的方式确保密钥传输安全。AES 与 RSA 在 Python 中交织成一道坚不可摧的防护网,共同守护我们的数字世界。
353 0
|
存储 算法 安全
PHP 使用非对称加密算法(RSA)
PHP 使用非对称加密算法(RSA)
422 0
PHP 使用非对称加密算法(RSA)
|
3月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
322 0
PHP和Mysql前后端交互效果实现