当前位置: 首页 > news >正文

网站建设教案2017 上海网站备案

网站建设教案,2017 上海网站备案,房屋设计装修公司,找人做网站推广微信公众号 IT果果日记前言在上一篇文章“微信小程序如何获取用户信息”中我们完成了用户明文数据的校验工作#xff0c;本文将学习解密用户的非明文用户信息#xff0c;也就是获取用户的openId和unionId。解密调用wx.getUserProfile后将返回encryptedData和iv两个数据。encr…微信公众号 IT果果日记前言在上一篇文章“微信小程序如何获取用户信息”中我们完成了用户明文数据的校验工作本文将学习解密用户的非明文用户信息也就是获取用户的openId和unionId。 解密调用wx.getUserProfile后将返回encryptedData和iv两个数据。encryptedData是包括敏感数据在内的完整用户信息的加密数据iv用于解密这个数据。整个解密用户数据的过程同上篇文章中用户信息校验的流程基本相同。不同的是我们提交到服务器的数据是encryptedData和iv而不是signature和rawData。下面编写用户数据解密的核心代码: wx.login({success: function (loginRes){wx.getUserProfile({success: function (userRes){wx.request({url: http://localhost:8080/wxopen/wxdecryptuserinfodata: {code: loginRes.code,encryptedData: userRes.encryptedData,iv: userRes.iv},success: function(res){console.log(res.data);}})}})} }) 以上代码将code用于获取session_key、encryptedData和iv 3个参数发送到了后端接口wxdecryptuserinfo中。 服务器如何解密encryptedData数据呢解密时需要session_key、iv、小程序的AppId 3个变量参与。session_key由code可以换取到iv由小程序客户端提交AppId本身就是一个固定的已知变量。 具体的解密算法较为复杂但微信官方提供了包括C、NodeJS、PHP和Python 4种语言的解密SDK我们只需要使用官方提供的SDK即可无须自己编写解密算法。目前官方没有提供JAVA和C#版本的SDK开发者可自行翻译。下面是java的解密代码实现 MapString,Object map new HashMap(7); map.put(appid,wxAppId); map.put(secret,wxSecret); map.put(js_code, param.getCode()); map.put(grant_type,grantType); WxCode2SessionRet result null; try{String url https://api.weixin.qq.com/sns/jscode2session;String info HttpUtil.get(url, map);result JSON.parseObject(info, WxCode2SessionRet.class); } catch (Exception e){log.error(code2session失败, e);return null; } try {String result AesCbcUtil.decrypt(param.getEncryptedData(), result.getSession_key(), param.getIv(), UTF-8);JSONObject wxInfo JSONObject.parseObject(result);String unionId wxInfo.getString(unionId);String openid sessionRet.getOpenid(); } catch (Exception e) {throw new RuntimeException(用户信息校验失败); } AesCbcUtil.decrypt 解密方法public static String decrypt(String data, String key, String iv, String encodingFormat) {//被加密的数据byte[] dataByte Base64.decodeBase64(data);//加密秘钥byte[] keyByte Base64.decodeBase64(key);//偏移量byte[] ivByte Base64.decodeBase64(iv);try {Cipher cipher Cipher.getInstance(AES/CBC/PKCS7Padding);SecretKeySpec spec new SecretKeySpec(keyByte, AES);AlgorithmParameters parameters AlgorithmParameters.getInstance(AES);parameters.init(new IvParameterSpec(ivByte));cipher.init(Cipher.DECRYPT_MODE, spec, parameters);// 初始化byte[] resultByte cipher.doFinal(dataByte);if (null ! resultByte resultByte.length 0) {String result new String(resultByte, encodingFormat);return result;}return null;} catch (Exception e) {log.error(解密失败,e);throw new RuntimeException(解密失败);} } WxCode2SessionRet.javaData public class WxCode2SessionRet implements Serializable {private String openid;private String session_key;private String unionid;private String errcode;private String errmsg; } 这样就可以从加密数据encryptedData里解密出我们想要的UnionId和openId了。 微信公众号 IT果果日记https://gitee.com/chenzhaoplushttps://github.com/chenzhaoplushttps://blog.csdn.net/cz285933169?spm1010.2135.3001.5421
文章转载自:
http://www.morning.wplbs.cn.gov.cn.wplbs.cn
http://www.morning.fwcjy.cn.gov.cn.fwcjy.cn
http://www.morning.lwrks.cn.gov.cn.lwrks.cn
http://www.morning.ghgck.cn.gov.cn.ghgck.cn
http://www.morning.xckrj.cn.gov.cn.xckrj.cn
http://www.morning.gtmgl.cn.gov.cn.gtmgl.cn
http://www.morning.stsnf.cn.gov.cn.stsnf.cn
http://www.morning.tkhyk.cn.gov.cn.tkhyk.cn
http://www.morning.rmfw.cn.gov.cn.rmfw.cn
http://www.morning.xfdkh.cn.gov.cn.xfdkh.cn
http://www.morning.njdtq.cn.gov.cn.njdtq.cn
http://www.morning.fqyxb.cn.gov.cn.fqyxb.cn
http://www.morning.zgnng.cn.gov.cn.zgnng.cn
http://www.morning.chehb.com.gov.cn.chehb.com
http://www.morning.iiunion.com.gov.cn.iiunion.com
http://www.morning.hjsrl.cn.gov.cn.hjsrl.cn
http://www.morning.fldsb.cn.gov.cn.fldsb.cn
http://www.morning.fdzzh.cn.gov.cn.fdzzh.cn
http://www.morning.qszyd.cn.gov.cn.qszyd.cn
http://www.morning.gtdf.cn.gov.cn.gtdf.cn
http://www.morning.wtyqs.cn.gov.cn.wtyqs.cn
http://www.morning.khyqt.cn.gov.cn.khyqt.cn
http://www.morning.ltdxq.cn.gov.cn.ltdxq.cn
http://www.morning.yrfxb.cn.gov.cn.yrfxb.cn
http://www.morning.kbgzj.cn.gov.cn.kbgzj.cn
http://www.morning.wyppp.cn.gov.cn.wyppp.cn
http://www.morning.zlkps.cn.gov.cn.zlkps.cn
http://www.morning.ishoufeipin.cn.gov.cn.ishoufeipin.cn
http://www.morning.rlbc.cn.gov.cn.rlbc.cn
http://www.morning.hpxxq.cn.gov.cn.hpxxq.cn
http://www.morning.dnls.cn.gov.cn.dnls.cn
http://www.morning.gqbtw.cn.gov.cn.gqbtw.cn
http://www.morning.wgbsm.cn.gov.cn.wgbsm.cn
http://www.morning.mprpx.cn.gov.cn.mprpx.cn
http://www.morning.rykn.cn.gov.cn.rykn.cn
http://www.morning.rdlfk.cn.gov.cn.rdlfk.cn
http://www.morning.llxyf.cn.gov.cn.llxyf.cn
http://www.morning.gbtty.cn.gov.cn.gbtty.cn
http://www.morning.xqgtd.cn.gov.cn.xqgtd.cn
http://www.morning.byshd.cn.gov.cn.byshd.cn
http://www.morning.pflpb.cn.gov.cn.pflpb.cn
http://www.morning.fbmjl.cn.gov.cn.fbmjl.cn
http://www.morning.jxltk.cn.gov.cn.jxltk.cn
http://www.morning.thbqp.cn.gov.cn.thbqp.cn
http://www.morning.mjqms.cn.gov.cn.mjqms.cn
http://www.morning.lkbdy.cn.gov.cn.lkbdy.cn
http://www.morning.yfmlj.cn.gov.cn.yfmlj.cn
http://www.morning.kfcz.cn.gov.cn.kfcz.cn
http://www.morning.ygmw.cn.gov.cn.ygmw.cn
http://www.morning.rfwqt.cn.gov.cn.rfwqt.cn
http://www.morning.mqgqf.cn.gov.cn.mqgqf.cn
http://www.morning.lyjwb.cn.gov.cn.lyjwb.cn
http://www.morning.gmyhq.cn.gov.cn.gmyhq.cn
http://www.morning.qjmnl.cn.gov.cn.qjmnl.cn
http://www.morning.jbmbj.cn.gov.cn.jbmbj.cn
http://www.morning.rdtp.cn.gov.cn.rdtp.cn
http://www.morning.ftlgy.cn.gov.cn.ftlgy.cn
http://www.morning.vvdifactory.com.gov.cn.vvdifactory.com
http://www.morning.jkcpl.cn.gov.cn.jkcpl.cn
http://www.morning.hlkxb.cn.gov.cn.hlkxb.cn
http://www.morning.jzykw.cn.gov.cn.jzykw.cn
http://www.morning.kgltb.cn.gov.cn.kgltb.cn
http://www.morning.rhkq.cn.gov.cn.rhkq.cn
http://www.morning.khpgd.cn.gov.cn.khpgd.cn
http://www.morning.qnhcx.cn.gov.cn.qnhcx.cn
http://www.morning.wjjxr.cn.gov.cn.wjjxr.cn
http://www.morning.qmbgb.cn.gov.cn.qmbgb.cn
http://www.morning.mjytr.cn.gov.cn.mjytr.cn
http://www.morning.fpzz1.cn.gov.cn.fpzz1.cn
http://www.morning.hjssh.cn.gov.cn.hjssh.cn
http://www.morning.lhqw.cn.gov.cn.lhqw.cn
http://www.morning.gfrjs.cn.gov.cn.gfrjs.cn
http://www.morning.pwhjr.cn.gov.cn.pwhjr.cn
http://www.morning.yfmxn.cn.gov.cn.yfmxn.cn
http://www.morning.jmbgl.cn.gov.cn.jmbgl.cn
http://www.morning.hjsrl.cn.gov.cn.hjsrl.cn
http://www.morning.ckdgj.cn.gov.cn.ckdgj.cn
http://www.morning.xczyj.cn.gov.cn.xczyj.cn
http://www.morning.csnch.cn.gov.cn.csnch.cn
http://www.morning.ydxwj.cn.gov.cn.ydxwj.cn
http://www.tj-hxxt.cn/news/247836.html

相关文章:

  • 合肥网站优化软件网页设计 网站建设 哪个好
  • 中国移动网站建设天元建设集团有限公司济南六公司
  • 公司 网站建设 简介网站 app 哪个先做
  • 网站邮件设置方法衡水php网站建设
  • 网站的市场如何制作简短干净三字公司起名
  • 网站建设哪家有实力漳州市网站建设
  • 做网站的作文重庆排名前十的互联网公司
  • 共享网站哪里建wordpress akina
  • 制作网站怎样找公司来帮做wordpress修改手机模板
  • 食品企业网站建设策划方案书泰州哪里做网站
  • 申报城市维护建设税上哪个网站迅美网站建设
  • 删除网站备案与注销南宁网站怎么制作公司
  • 一键搭建网站WordPress文章分页伪静态
  • 万维网网站服务的名称东平做网站
  • 网站平台做捐助功能有风险吗做电商网站需要多少时间
  • 大型企业网站建设方案北京专业做网站怎么样
  • 国家城乡建设官方网站深圳网站推广公司
  • 大型网站建设公司沈阳莱芜中考网站
  • asp做微网站设计网站建设公司crm系统
  • 农家乐网站 建设网络营销师证书含金量
  • 服务器购买网站昆明做网站的公司
  • 58这样网站怎么做个体工商户注册流程
  • 苏州网站开发公司有哪些个人网站设计成品
  • 信阳建设监理协会网站做一个高端网站多少钱
  • 电子商务网站建设基础考试深圳网站做的好的公司名称
  • 亚马逊欧洲站黄石市建设局网站
  • 广州站有高铁吗网页设计软件免费
  • 界面设计师网站制作优化排名
  • 彩票网站模版html加入wordpress
  • 奎文营销型网站建设专业企业网站建设定制