微信公众号新消息加密测试(java)

1.阅读“方案概述”

http://mp.weixin.qq.com/wiki/index.php?title=%E6%96%B9%E6%A1%88%E6%A6%82%E8%BF%B0

 

2.下载Demo代码。

 

3.更新jdk的JCE无限制权限策略文件

jdk1.7到 http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html下载

jdk1.6到http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html下载

 

JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件

 

4.接收消息

从request中读到msg_signature参数。

参照示例进行解密。

WXBizMsgCrypt pc = new WXBizMsgCrypt(_token, encodingAesKey, appId);

...

String fromXML = String.format(xmlMsg, encrypt);

String result2 = pc.decryptMsg(msgSignature, timestamp, nonce, fromXML);

//xmlMsg为收到的原始消息         result2 为解密后的xml消息

 

5.发送消息

WXBizMsgCrypt pc = new WXBizMsgCrypt(_token, encodingAesKey, appId);

String outPut = pc.encryptMsg(outPut, timestamp, nonce);

 

 

Java中,向微信公众号推送消息通常涉及到以下几个步骤: 1. 注册并获取API权限:首先,你需要在微信公众平台开发者中心注册一个公众号,并获得AppID、AppSecret等必要的授权信息。 2. 安装官方SDK:微信提供了Java版的微信开放平台API SDK(Wechat Open Platform API),可以从其官网下载或通过Maven引入。 3. 配置OAuth2.0授权:通过SDK实现OAuth2.0授权流程,用户点击授权后,会将授权码带回你的服务器,换取access_token用于后续的请求。 4. 发送消息:利用access_token,你可以调用微信的API来发送不同类型的消息,如文本、图文(markdown格式)、语音、视频等。常用的方法包括`WeixinApi.sendTextMessage()`或`WeixinApi.sendNewsMessage()`。 5. 请求验证:确保每次请求都携带合法的签名和时间戳,以防止数据被篡改。可以使用微信提供的工具对参数进行加密校验。 6. 异常处理:处理可能出现的各种错误,比如网络问题、认证失败、消息格式错误等,并提供适当的错误反馈给用户。 以下是简化的伪代码示例: ```java // 假设已导入微信SDK包 WeixinApi wechatApi = new WeixinApi(appId, appSecret); String accessToken = getAccessToken(); // 获取access_token try { Map<String, String> params = createMessageParams(); // 创建消息参数 wechatApi.sendMessage(accessToken, params); // 发送消息 } catch (WeixinApiException e) { handleException(e); // 处理异常 } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值