java 微信分享签名生成方法
2015-01-16 15:29
309 查看
public static String getSign(String noncestrs, String jsapi_tickets, String timestamps, String urls){ String[] arr = new String[] { "jsapi_ticket="+jsapi_tickets, "noncestr="+noncestrs, "timestamp="+timestamps, "url="+urls }; Arrays.sort(arr); String string1 = null; for (int i = 0; i < arr.length; i++) { //content.append(arr[i]); if(string1 == null){ string1 = arr[i]+"&"; }else{ string1 +=arr[i]+"&"; } } string1 = string1.substring(0, string1.length()-1); System.out.println(string1); MessageDigest md = null; String tmpStr = null; try { md = MessageDigest.getInstance("SHA-1"); // 将三个参数字符串拼接成一个字符串进行sha1加密 byte[] digest = md.digest(string1.toString().getBytes()); tmpStr = byteToStr(digest); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return tmpStr; } /** * 将字节数组转换为十六进制字符串 * @param byteArray * @return */ private static String byteToStr(byte[] byteArray) { String strDigest = ""; for (int i = 0; i < byteArray.length; i++) { strDigest += byteToHexStr(byteArray[i]); } return strDigest; } /** * 将字节转换为十六进制字符串 * * @param mByte * * * @return **/ private static String byteToHexStr(byte mByte) { char[] Digit = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; char[] tempArr = new char[2]; tempArr[0] = Digit[(mByte >>> 4) & 0X0F]; tempArr[1] = Digit[mByte & 0X0F]; String s = new String(tempArr); return s; }
相关文章推荐
- Android集成微信分享功能应用签名生成方法及分享不生效的问题
- 微信JS-SDK“分享信息设置”API及数字签名生成方法(NodeJS版本)
- 微信JS-SDK“分享信息设置”API及数字签名生成方法(NodeJS版本)
- Java使用DSA密钥对生成XML签名的方法
- 微信APP支付(Java后台生成签名具体步骤)
- 用java8的keytool生成自签名密钥库的方法
- Java生成MD5签名的方法
- jni c调用java的方法签名生成方法
- 【java】java反射机制,动态获取对象的属性和对应的参数值,并属性按照字典序排序,Field.setAccessible()方法的说明【可用于微信支付 签名生成】
- 微信APP支付(Java后台生成签名具体步骤)
- 微信APP支付(Java后台生成签名具体步骤)
- ionic开发——微信分享准备工作之签名和包名的获取方法
- iOS生成图片分享到微信的一种方法
- 微信普通商户红包接口生成签名Java实现
- 微信分享报invalid signature签名错误解决方法
- ionic开发——微信分享准备工作之签名和包名的获取方法
- java 微信支付签名生成方法
- Java 微信开发(四)生成带参数二维码及分享到朋友圈、好友、QQ
- ant生成java头文件和方法签名
- Java2下Applet数字签名具体实现方法