|
一、概述
我們下載的算法示例如下: 木有Java??! 木有Java??! 木有Java??!
那么如何解決這個(gè)問題,我們一起來實(shí)現(xiàn)Java版本的微信小程序加密數(shù)據(jù)解密算法。 二、實(shí)現(xiàn)Java版本的微信小程序加密數(shù)據(jù)解密算法
1、創(chuàng)建項(xiàng)目這里,我們創(chuàng)建一個(gè)Maven工程,具體創(chuàng)建步驟略。 2、配置pom.xml我們在pom.xml中加入如下配置。 
3、實(shí)現(xiàn)AES類


4、實(shí)現(xiàn)WxPKCS7Encoder類

5、實(shí)現(xiàn)WXCore類這個(gè)類主要是對具體算法的封裝,統(tǒng)一對外提供方法。 

三、測試1、運(yùn)行Java版微信小程序加密數(shù)據(jù)解密算法這里我們就直接運(yùn)行WXcore類的main方法,這里的測試數(shù)據(jù)都是從Python版微信小程序加密數(shù)據(jù)解密算法的示例程序中提出來的。我們的運(yùn)行結(jié)果如下: {"openId":"oGZUI0egBJY1zhBYw2KhdUfwVJJE","nickName":"Band","gender":1,"language":"zh_CN","city":"Guangzhou","province":"Guangdong","country":"CN","avatarUrl":"http://wx./mmopen/vi_32/aSKcBBPpibyKNicHNTMM0qJVh8Kjgiak2AHWr8MHM4WgMEm7GFhsf8OYrySdbvAMvTsw3mo8ibKicsnfN5pRjl1p8HQ/0","unionId":"ocMvos6NjeKLIBqg5Mr9QjxrP1FA","watermark":{"timestamp":1477314187,"appid":"wx4f4bc4dec97d474b"}}
2、運(yùn)行Python版微信小程序加密數(shù)據(jù)解密算法這里我們在python環(huán)境中直接運(yùn)行微信官方提供的Python版小程序加密數(shù)據(jù)解密算法,結(jié)果如下: {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./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'}
通過對比以上結(jié)果可知,我們自行使用Java實(shí)現(xiàn)的Java版微信小程序加密數(shù)據(jù)解密算法與微信官方提供的Python版小程序加密數(shù)據(jù)解密算法結(jié)果一致。

|