PHP关于AES加密文件

本文介绍了AES加密标准及其在PHP中的应用,特别指出PHP7.2已移除Mcrypt扩展,转而使用OpenSSL扩展进行对称加密。文章通过讨论对称加密与非对称加密的优缺点,强调了AES在数据传输中的重要性,并提供了简单的PHP AES文件加密函数。
摘要由CSDN通过智能技术生成

AES 简介

高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥。

  • 对称加密
    加密和解密用到的密钥是相同的,这种加密方式加密速度非常快,适合经常发送数据的场合。缺点是密钥的传输比较麻烦。秘钥容易泄露。
  • 非对称加密
    加密和解密用的密钥是不同的,这种加密方式是用数学上的难解问题构造的,通常加密解密的速度比较慢,适合偶尔发送数据的场合。优点是密钥传输方便。常见的非对称加密算法为RSA、ECC和EIGamal。

注意:
PHP7.2删除了Mcrypt扩展,这里使用OpenSSL扩展。

<?php 


/*
* AES 算法    
*/


class Aes {
    

    private $hex_iv = '00000000000000000000000000000000'; 

    private $key = '397e2eb61307109f6e68006ebcb62f98';

    function __construct($key) {
    
        $this->key = $key;
        $this->key = hash('sha256', $this->key, true);
    }
    /*
    * 字符串加密 不写入文件 
    */
    public function encrypt($input)
    {
    
        $data = openssl_encrypt($input, 'AES-256-CBC', $this->key, OPENSSL_RAW_DATA, $this->hexToStr($this->hex_iv));
        $data = base64_encode($data);
        return $data;
    }

    /*
    * aes 给PHP文件加密
    * 写入设置文件
    */
    public 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值