小程序加密解密java_Java实现微信小程序加密数据解密算法

一、概述

我们下载的算法示例如下:

木有Java!! 木有Java!! 木有Java!!

那么如何解决这个问题,我们一起来实现Java版本的微信小程序加密数据解密算法。

二、实现Java版本的微信小程序加密数据解密算法

1、创建项目

这里,我们创建一个Maven工程,具体创建步骤略。

2、配置pom.xml

我们在pom.xml中加入如下配置。

3、实现AES类

4、实现WxPKCS7Encoder类

5、实现WXCore类

这个类主要是对具体算法的封装,统一对外提供方法。

三、测试

1、运行Java版微信小程序加密数据解密算法

这里我们就直接运行WXcore类的main方法,这里的测试数据都是从Python版微信小程序加密数据解密算法的示例程序中提出来的。我们的运行结果如下:{"openId":"oGZUI0egBJY1zhBYw2KhdUfwVJJE","nickName":"Band","gender":1,"language":"zh_CN","city":"Guangzhou","province":"Guangdong","country":"CN","avatarUrl":"http://wx.qlogo.cn/mmopen/vi_32/aSKcBBPpibyKNicHNTMM0qJVh8Kjgiak2AHWr8MHM4WgMEm7GFhsf8OYrySdbvAMvTsw3mo8ibKicsnfN5pRjl1p8HQ/0","unionId":"ocMvos6NjeKLIBqg5Mr9QjxrP1FA","watermark":{"timestamp":1477314187,"appid":"wx4f4bc4dec97d474b"}}

2、运行Python版微信小程序加密数据解密算法

这里我们在python环境中直接运行微信官方提供的Python版小程序加密数据解密算法,结果如下:{u'province': u'Guangdong', u'openId': u'oGZUI0egBJY1zhBYw2KhdUfwVJJE', u'language': u'zh_CN', u'city': u'Guangzhou', u'gender': 1, u'avatarUrl': u'http://wx.qlogo.cn/mmopen/vi_32/aSKcBBPpibyKNicHNTMM0qJVh8Kjgiak2AHWr8MHM4WgMEm7GFhsf8OYrySdbvAMvTsw3mo8ibKicsnfN5pRjl1p8HQ/0', u'watermark': {u'timestamp': 1477314187, u'appid': u'wx4f4bc4dec97d474b'}, u'country': u'CN', u'nickName': u'Band', u'unionId': u'ocMvos6NjeKLIBqg5Mr9QjxrP1FA'}

通过对比以上结果可知,我们自行使用Java实现的Java版微信小程序加密数据解密算法与微信官方提供的Python版小程序加密数据解密算法结果一致。

你可能感兴趣的:(小程序加密解密java)