Java签名加密_md5签名加密(用于java 后台调用短信平台接口实现发短信)

摘要由CSDN通过智能技术生成

MD5Util 方法

2c006ed950be8b62568a8d5f1abbb758.gif

2c006ed950be8b62568a8d5f1abbb758.gif

package com.funcanteen.business.action.pay.util;

import java.security.MessageDigest;

public class MD5Util {

private static String byteArrayToHexString(byte b[]) {

StringBuffer resultSb = new StringBuffer();

for (int i = 0; i < b.length; i++)

resultSb.append(byteToHexString(b[i]));

return resultSb.toString();

}

private static String byteToHexString(byte b) {

int n = b;

if (n < 0)

n += 256;

int d1 = n / 16;

int d2 = n % 16;

return hexDigits[d1] + hexDigits[d2];

}

public static String MD5Encode(String origin, String charsetname) {

String resultString = null;

try {

resultString = new String(origin);

MessageDigest md = MessageDigest.getInstance("MD5");

if (charsetname == null || "".equals(charsetname))

resultString = byteArrayToHexString(md.digest(resultString

.getBytes()));

else

resultString = byteArrayToHexString(md.digest(resultString

.getBytes(charsetname)));

} catch (Exception exception) {

}

return resultString;

}

private static final String hexDigits[] = { "0", "1", "2", "3", "4", "5",

"6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };

}

2c006ed950be8b62568a8d5f1abbb758.gif

2c006ed950be8b62568a8d5f1abbb758.gif

2:签名封装方法

2c006ed950be8b62568a8d5f1abbb758.gif

//设置签名

public String getSignature(Map map){

StringBuffer sb = new StringBuffer();

for(Map.Entry me :map.entrySet()){

sb.append(me.getKey()).append("=").append(me.getValue()).append("&");

}

sb.append("key=").append("xxxxxxxxxxxxxxxxxxxx");

return MD5Util.MD5Encode(sb.toString(), null);

}

2c006ed950be8b62568a8d5f1abbb758.gif

3:调用签名方法

2c006ed950be8b62568a8d5f1abbb758.gif

//要发送给用户的模板信息

TreeMap josnMap = new TreeMap();

josnMap.put("name", stallApply.getAccountName());

String jsonData = JSON.toJSONString(josnMap);

//封装组装签名

Map map = new TreeMap();

String timestamp = System.currentTimeMillis()/1000+"";

map.put("json", jsonData);

map.put("mobile", stallApply.getMobile());

map.put("templateCode", "SMS_74665033");

map.put("timestamp",timestamp);

String signature = getSignature(map).toUpperCase();//字母转成大写

2c006ed950be8b62568a8d5f1abbb758.gif

好文要顶 关注我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值