java pkcs7padding_用Java实现AES/CBC/PKCS7Padding加解密

开发微信小程序的时候,第三方应用服务器需要解密微信服务器给的加密数据。当时小程序官方没有给出Java实现。网上的解决方案基本都差不多,但是示例代码不够清晰,逻辑混乱,这里整理一下。

1. Maven引入三方包

Java SE自带的加解密工具包不支持AES/CBC/PKCS7Padding。

org.bouncycastle

bcprov-jdk15on

1.55

2. 测试方法

①进行加解密之前注意导入支持AES/CBC/PKCS7Padding的Provider。

②Base64只是一种编码解码工具,数据编码后,便于网络上传输。跟加解密没关系。

public static void main(String[] args) throws Exception {

//原始数据

String data = "i am data";

//密钥

String sessionKey = "i am strong key ";

//向量

String iv = "i am iv i am iv ";

//用Base64编码

Base64.Encoder encoder = Base64.getEncoder();

String baseData = encoder.encodeToString(data.getBytes());

String baseSessionKey = encoder.encodeToString(sessionKey.getBytes());

String baseIv = encoder.encodeToString(iv.ge

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值