php如何实现pkcs7,php5/7 AES/CBC/PKCS7Padding加密的实现

本文介绍了如何在PHP中实现AES/CBC/PKCS7Padding加密和解密,包括使用mcrypt和openssl库的代码示例。通过示例代码展示了加密和解密过程,并提供了测试用例。
摘要由CSDN通过智能技术生成

作者:ghostry

发布时间:2020-10-30

浏览: 438

转载注明出处: https://blog.ghostry.cn/program/1012.html

PHP需要安装mcrypt扩展

说明

加密模式采用AES/CBC/PKCS7Padding

注意:加密后的字节码使用Base64转换成字符串加密模式: CBC

填充模式: PKCS7Padding

加密密钥: 用户密钥 SHA256 的32 bytes

AES IV : 加密密钥的前 16 bytes

Base 64: Base64.DEFAULT

加密过程:

加密:padding->CBC加密->base64编码

解密:base64解码->CBC解密->unpadding

AES加密结果基准测试:

用户密钥:909ed2d5fcf907c79fb9aa341a98febb65291c39

明文:AABBCC测试数据

密文:noMrTUS2A0YTcYaaPQSy9peqF6Mv/faMkI4yYHDvKjw=

实现代码<?php

class AesCrypter {

private $key = 'php1234567890';

private $iv;

public function __construct($key = '') {

if (!empty($key)) {

$this->key = $key;

}

$this->

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值