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

网站开发企业部门自己买服务器能在wordpress建网站

网站开发企业部门,自己买服务器能在wordpress建网站,36岁了初中毕业想提升学历,wordpress 农场模板微信公众号 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.w-s-a.com/news/295369/

相关文章:

  • 网站背景怎么弄斜杠青年seo工作室
  • ps个人网站首页怎么制作如何做网站的版块规划
  • 做网站的市场开源建站工具
  • 邹平做网站哪家好自动点击器app
  • 南阳seo网站排名优化wordpress文章对游客不显示
  • 网站301什么意思湛江市seo网站设计报价
  • 免费建造网站化妆品网络营销方案
  • 建公司网站wordpress the content
  • 网站的站点的管理系统建设银行网站注册企业
  • 长春火车站是哪个站做微商哪个网站有客源
  • 亚马逊培训费用一般多少seo专业培训课程
  • 做推文封面图网站南宁高端网站建设
  • 天津网站搜索排名做电影免费ppt模板下载网站
  • 襄樊最好网站建设价格网站建设与设计 毕业设计
  • 网站推广广告词大全集网站建设相对路径
  • 甘肃省铁路投资建设集团有限公司网站域名怎么实名认证
  • 企业网站建设的层次返利网站建设
  • 竞价单页网站制作中小企业网站建设问题
  • 响应式网站源码学校网站制作多少钱
  • 营销型网站建设需要懂什么网站建站四件套是什么
  • 廊坊哪里有制作手机网站的区块链开发语言
  • 找建设项目的网站装企工长网站开发
  • 戴尔网站建设成功方正网站制作
  • 怎么买网站域名wordpress 视频站模版
  • 厦门官网建设公司杨和关键词优化
  • 怎么做网约车seo自动优化软件下载
  • 遵义市住房和城乡建设局官方网站网站备案 自己的服务器
  • 分销系统价格多少北京网站优化平台
  • 怎样做旅游公司的网站泉州网站建设方案优化
  • 手机网站页面范例个人网站做淘宝客违规