荆州网站seo,网站域名注册信息,绿色食品网站模板,东台网站建设服务商java如何获取微信timestamp,nonceStr,signature参数发布时间#xff1a;2021-01-18 11:46:12来源#xff1a;亿速云阅读#xff1a;57作者#xff1a;小新这篇文章主要介绍java如何获取微信timestamp,nonceStr,signature参数#xff0c;文中介绍的非常详细#xff0c;具有…java如何获取微信timestamp,nonceStr,signature参数发布时间2021-01-18 11:46:12来源亿速云阅读57作者小新这篇文章主要介绍java如何获取微信timestamp,nonceStr,signature参数文中介绍的非常详细具有一定的参考价值感兴趣的小伙伴们一定要看完用java代码来实现获取timestamp,nonceStr,signature这三个参数Sign代码package com.test.util;import java.util.UUID;import java.util.Map;import java.util.HashMap;import java.util.Formatter;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.io.UnsupportedEncodingException;public class Sign {public static void main(String[] args) {String jsapi_ticket JsapiTicketUtil.getJSApiTicket();;// 注意 URL 一定要动态获取不能 hardcodeString url http://www.vxzsk.com/xx/x.do;//url是你请求的一个action或者controller地址并且方法直接跳转到使用jsapi的jsp界面Map ret sign(jsapi_ticket, url);for (Map.Entry entry : ret.entrySet()) {System.out.println(entry.getKey() , entry.getValue());}};public static Map sign(String jsapi_ticket, String url) {Map ret new HashMap();String nonce_str create_nonce_str();String timestamp create_timestamp();String string1;String signature ;//注意这里参数名必须全部小写且必须有序string1 jsapi_ticket jsapi_ticket noncestr nonce_str timestamp timestamp url url;System.out.println(string1);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);}}第16行main方法中的一个变量url就是你请求的一个action或者controller地址并且方法直接跳转到使用jsapi的jsp界面获取jsapi_ticket工具类代码package com.test.util;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;import net.sf.json.JSONObject;import com.test.weixin.TestAcessToken;/**** author V型知识库 www.vxzsk.com**/public class JsapiTicketUtil {/**** 模拟get请求* param url* param charset* param timeout* return*/public static String sendGet(String url, String charset, int timeout){String result ;try{URL u new URL(url);try{URLConnection conn u.openConnection();conn.connect();conn.setConnectTimeout(timeout);BufferedReader in new BufferedReader(new InputStreamReader(conn.getInputStream(), charset));String line;while ((line in.readLine()) ! null){result result line;}in.close();} catch (IOException e) {return result;}}catch (MalformedURLException e){return result;}return result;}public static String getAccessToken(){String appid你公众号基本设置里的应用id;//应用IDString appSecret你公众号基本设置里的应用密钥;//(应用密钥)String url https://api.weixin.qq.com/cgi-bin/token?grant_typeclient_credentialappidappidsecretappSecret;String backDataTestAcessToken.sendGet(url, utf-8, 10000);String accessToken (String) JSONObject.fromObject(backData).get(access_token);return accessToken;}public static String getJSApiTicket(){//获取tokenString acess_token JsapiTicketUtil.getAccessToken();String urlStr https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_tokenacess_tokentypejsapi;String backDataTestAcessToken.sendGet(urlStr, utf-8, 10000);String ticket (String) JSONObject.fromObject(backData).get(ticket);return ticket;}public static void main(String[] args) {String jsapiTicket JsapiTicketUtil.getJSApiTicket();System.out.println(调用微信jsapi的凭证票为jsapiTicket);}}读者可直接把代码复制到myeclipse或者Eclipse中运行main方法即可但是在这里提示读者JsapiTicketUtil中获取acces_token方法中需要读者自行填写自己的appid和appsecret。以上是“java如何获取微信timestamp,nonceStr,signature参数”这篇文章的所有内容感谢各位的阅读希望分享的内容对大家有帮助更多相关知识欢迎关注亿速云行业资讯频道