类 WeChatCiphertextWeChatMessageCodec
java.lang.Object
net.jlxxw.wechat.event.codec.WeChatCiphertextWeChatMessageCodec
- 所有已实现的接口:
WeChatMessageCodec
提供接收和推送给公众平台消息的加解密接口(UTF8编码的字符串).
- 第三方回复加密消息给公众平台
- 第三方收到公众平台发送的消息,验证消息的安全性,并对消息进行解密。
- 在官方网站下载JCE无限制权限策略文件
适用JDK6的JCE补丁: http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html 适用JDK7的JCE补丁: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html 适用JDK8的JCE补丁: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
- 下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt
- 如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件
- 如果安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件
- 作者:
- lcy
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明对密文进行解密.信息解密检验消息的真实性,并且获取解密后的明文.将信息进行加密voidinit()token 公众平台上,开发者设置的token encodingAesKey 公众平台上,开发者设置的EncodingAESKey appId 公众平台 appId
-
构造器详细资料
-
WeChatCiphertextWeChatMessageCodec
- 抛出:
AesException
-
-
方法详细资料
-
init
token 公众平台上,开发者设置的token encodingAesKey 公众平台上,开发者设置的EncodingAESKey appId 公众平台 appId- 抛出:
AesException- 执行失败,请查看该异常的错误码和具体的错误信息
-
decrypt
信息解密- 指定者:
decrypt在接口中WeChatMessageCodec- 参数:
uri- uridata- 密文- 返回:
- 明文
- 抛出:
AesException
-
decrypt
public String decrypt(String msgSignature, String timeStamp, String nonce, String postData) throws AesException 检验消息的真实性,并且获取解密后的明文.- 利用收到的密文生成安全签名,进行签名验证
- 若验证通过,则提取xml中的加密消息
- 对消息进行解密
- 参数:
msgSignature- 签名串,对应URL参数的msg_signaturetimeStamp- 时间戳,对应URL参数的timestampnonce- 随机串,对应URL参数的noncepostData- 密文,对应POST请求的数据- 返回:
- 解密后的原文
- 抛出:
AesException- 执行失败,请查看该异常的错误码和具体的错误信息
-
encrypt
将信息进行加密- 指定者:
encrypt在接口中WeChatMessageCodec- 参数:
text- 要加密的信息- 返回:
- 加密后的信息
- 抛出:
AesException
-
decrypt
对密文进行解密.- 参数:
text- 需要解密的密文- 返回:
- 解密得到的明文
- 抛出:
AesException- aes解密失败
-