java如何获取微信时间戳,nonceStr、签名参数

  介绍

这篇文章主要介绍java如何获取微信时间戳,nonceStr,签名参数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

用java代码来实现获取时间戳,nonceStr,签名这三个参数

签署代码:

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 一定要动态获取,不能,硬编码   ,,,,,,,String  url =,“http://www.vxzsk.com/xx/x.do"//url是你请求的一个行动或者控制器地址,并且方法直接跳转到使用jsapi的jsp界面   ,,,,,,,Map<字符串,String>, ret =,标志(jsapi_ticket, url);   ,,,,,,,for  (Map.Entry  entry : ret.entrySet ()), {   ,,,,,,,,,,,System.out.println (entry.getKey (), +,,,,,, +, entry.getValue ());   ,,,,,,,}   ,,,};   public 才能;static  Map<字符串,,String>,标志(String  jsapi_ticket, String  url), {   ,,,,,,,Map<字符串,String>, ret =, new  HashMap<字符串,String> ();   ,,,,,,,String  nonce_str =, create_nonce_str ();   ,,,,,,,String  timestamp =, create_timestamp ();   ,,,,,,,String  string1;   ,,,,,,,String  signature =,““   ,   ,,,,,,,//注意这里参数名必须全部小写,且必须有序   ,,,,,,,string1 =,“jsapi_ticket=? +, jsapi_ticket  +   ,,,,,,,,,,,,,,,,,,,noncestr=? +, nonce_str  +   ,,,,,,,,,,,,,,,,,,,时间戳=?+,timestamp  +   ,,,,,,,,,,,,,,,,,,,url=? +, url;   ,,,,,,,System.out.println (string1);   ,   ,,,,,,,试一试   ,,,,,,,{   ,,,,,,,,,,,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",,时间戳);   ,,,,,,,ret.put (“signature",,签名);   ,   ,,,,,,,return 回收;   ,,,}   ,   ,,,private  static  String  byteToHex (byte [] final 散列),{   ,,,,,,,Formatter  Formatter =, new 格式化程序();   ,,,,,,,for  (byte  b :散列)   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

java如何获取微信时间戳,nonceStr、签名参数