微信&java 开发7 js sdk 获取签名 signature
来源:互联网 发布:咨询公司数据分析工资 编辑:程序博客网 时间:2024/05/18 02:40
在前面的章节 如果全局缓存了 access_token和 jsapi_ticket的话 这里直接获取
springmvc 中
@RequestMapping(value = "/gotoWtjb")public ModelAndView gotoWtjb(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) {Map<String, String> map=SignatureUtil.get(request); modelMap.addAllAttributes(map); return new ModelAndView("index",modelMap);}
看SignatureUtil.get(request);方法 签名算法请看官方文档
public static Map<String, String> get(HttpServletRequest request) {JsApiTicket jsApiTicket = (JsApiTicket)ServletContextUtil.get().getAttribute(Contants.JSAPI_TICKET);if(null != jsApiTicket) {String ticket = jsApiTicket.getTicket();String url = request.getRequestURL().toString();System.out.println(url);Map<String, String> ret = sign(ticket, url);ret.put("appId", WeiXinPropUtil.APPID);ret.put("doMain", WeiXinPropUtil.WebDomain);return ret;}return null;};
public static Map<String, String> sign(String jsapi_ticket, String url) {Map<String, String> ret = new HashMap<String, String>();String nonce_str = create_nonce_str();String timestamp = create_timestamp();String string1;String signature = "";string1 = "jsapi_ticket=" + jsapi_ticket + "&noncestr=" + nonce_str+ "×tamp=" + timestamp + "&url=" + url;try {MessageDigest crypt = MessageDigest.getInstance("SHA-1");crypt.reset();crypt.update(string1.getBytes("UTF-8"));signature = byteToHex(crypt.digest());} catch (NoSuchAlgorithmException e) {e.printStackTrace();} catch (UnsupportedEncodingException e) {e.printStackTrace();}ret.put("url", url);ret.put("jsapi_ticket", jsapi_ticket);ret.put("nonceStr", nonce_str);ret.put("timestamp", timestamp);ret.put("signature", signature);return ret;}
private static String byteToHex(final byte[] hash) {Formatter formatter = new Formatter();for (byte b : hash) {formatter.format("%02x", b);}String result = formatter.toString();formatter.close();return result;}private static String create_nonce_str() {return UUID.randomUUID().toString();}private static String create_timestamp() {return Long.toString(System.currentTimeMillis() / 1000);}
0 0
- 微信&java 开发7 js sdk 获取签名 signature
- 微信js sdk invalid signature签名错误 问题解决。
- 微信js sdk invalid signature签名错误
- 微信js sdk invalid signature签名错误 问题解决
- 微信js sdk invalid signature签名错误
- 微信js sdk invalid signature签名错误
- 微信开发之使用java获取签名signature(贴源码,附工程)
- java微信js SDK页面签名
- URL含特殊字符,微信JS-SDK接口config时报invalid signature签名错误
- 微信JS-SDK 调用config 出现invalid signature签名错误的部分解决方法
- java微信签名,验证微信发送的signature,还有获取access_token和ticket
- 微信企业号开发之获取jsapi_ticket并生成JS-SDK权限验证签名
- 微信公众平台开发,微信JS-SDK对接invalid signature报错解决
- 微信公众平台开发,微信JS-SDK对接invalid signature报错解决
- 微信开发,通过token获取signature
- 微信 js sdk C# 版 invalid signature 问题解决
- 微信公众号JS-SDK config:invalid signature
- 微信开发:js sdk 分享(java)
- kdd cup 99测试集属性含义
- SpringMVC @ResponseBody 415错误处理
- idaq查看arm汇编代码
- iOS开源库源码解析之AsnycDispalyKit
- PAT 1011World Cup Betting (20)
- 微信&java 开发7 js sdk 获取签名 signature
- Block源码解析和深入理解
- 高性能服务器笔记
- 14横屏
- Template's Template
- 深入分析 Java 中的中文编码问题
- UICollectionView瀑布流
- [C++]时间复杂度&空间复杂度
- 【强连通分量】HDU1269迷宫城堡【模板题】【tarjin/双向dfs】