PHP利用openssl整理AES加解密类

本文介绍了PHP如何使用openssl实现AES-GCM加密解密。AES是一种常用的对称加密方式,包括ECB、CTR、GMAC、GCM等多种加密模式。GCM结合了CTR的计数器和GMAC的消息完整性,提高了安全性。文章详细讲解了GCM加密的步骤,包括加密所需的参数如数据、加密方法、密钥和初始向量,并提到了tag在验证消息完整性中的重要作用。
摘要由CSDN通过智能技术生成
<?php
/**
 * Created by PhpStorm.
 * User: nassir
 * Date: 2017/12/11
 * Time: 15:25
 */

namespace Ryanc\RSA;


class AES
{
    private $_cipher;// 加密方式
    private $_key;// 密钥
    private $_options = 0;// options 是以下标记的按位或: OPENSSL_RAW_DATA 、 OPENSSL_ZERO_PADDING
    private $_iv = '';// 非null的初始化向量
    private $_tag = '';// 使用 AEAD 密码模式(GCM 或 CCM)时传引用的验证标签
    private $_aad = '';// 附加的验证数据
    private $_tagLength = 16;// 验证 tag 的长度。GCM 模式时,它的范围是 4 到 16

    public function __construct( string $cipher, string $key, int $options = 0, string $iv = '', string $tag = null, string $add = '', int $tagLength = 16)
    {
        $this->_cipher = $cipher;
        $this->_options = $options;
        $this->_tag = $tag;
        $this->_aad = $add;
        $this->_tagLength = $tagLength;
        $ivlen = openssl_cipher_iv_length($cipher)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值