本文实例为大家分享了Android微信支付获取二次签名Sign的方法,供大家参考,具体内容如下

/**  * 获取sign签名  *   * @return  */ private String genPayReq() {  // 获取参数的值  PayReq request = new PayReq();  request.appId = ConstantsMember.APP_ID;  request.partnerId = ConstantsMember.MCHID;  request.prepayId = mPrepayId;  request.packageValue = "Sign=WXPay";  request.nonceStr = DataUtil.getGuid();  request.timeStamp = DataUtil.getTimeStamp();  // 把参数的值传进去SortedMap集合里面  SortedMap parameters = new TreeMap();//  {appid=wx34df375d7dae8c90, noncestr=3BF34EF2CA4A462DB8D4EA48E785CDC3, //    package=Sign=WXPay, partnerid=1349967601, //    prepayid=wx2016070910354542c7155d4e0846850809, timestamp=1468031760}  parameters.put("appid", request.appId);  parameters.put("noncestr", request.nonceStr);  parameters.put("package", request.packageValue);  parameters.put("partnerid", request.partnerId);  parameters.put("prepayid", request.prepayId);  parameters.put("timestamp", request.timeStamp);  String characterEncoding = "UTF-8";  String mySign = createSign(characterEncoding, parameters);  System.out.println("我的签名是:" + mySign);  return mySign; } /**  * 微信支付签名算法sign  *   * @param characterEncoding  * @param parameters  * @return  */ public static String createSign(String characterEncoding,   SortedMap parameters) {  StringBuffer sb = new StringBuffer();  Set es = parameters.entrySet();// 所有参与传参的参数按照accsii排序(升序)  Iterator it = es.iterator();  while (it.hasNext()) {   @SuppressWarnings("rawtypes")   Map.Entry entry = (Map.Entry) it.next();   String k = (String) entry.getKey();   Object v = entry.getValue();   if (null != v && !"".equals(v) && !"sign".equals(k)     && !"key".equals(k)) {    sb.append(k + "=" + v + "&");   }  }  sb.append("key=" + ConstantsMember.KEY); //KEY是商户秘钥  String sign = MD5Util.MD5Encode(sb.toString(), characterEncoding)    .toUpperCase();  return sign; // D3A5D13E7838E1D453F4F2EA526C4766      // D3A5D13E7838E1D453F4F2EA526C4766 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多相关文章

  1. Mac Android(安卓)Studio快捷键整理
  2. magicIndicator使用简记
  3. android本地推送(退出app后依然可以)
  4. Android(安卓)Service的两种启动方式
  5. someone's android note
  6. [置顶] Android-->Rxjava与Retrofit2的结合实战
  7. Android(安卓)SharedPreferences的使用
  8. Android(安卓)opencv人脸识别
  9. Android(安卓)NDK 编译移植FFmpeg2.5

随机推荐

  1. android链接rest services
  2. Android(安卓)studio修改apk release打包
  3. Android kotlin上传头像实现
  4. 《阿里巴巴Android开发手册》《深入探索A
  5. 使用 IntelliJ Debug Android 源码
  6. android背景选择器selector用法汇总
  7. android操作sqlite3的blob字段
  8. : Failed to read row 0, column -1 from
  9. 安卓自学,手机上的横竖屏切换,状态栏隐藏
  10. Xcode 4.2 编译 Android