java接入手机短信发送验证码
市面上短信平台非常多,当初我刚接手这个项目的时候,技术群里的大神介绍给我阿里大于的平台,但是我接入了几次,发现还是接入还是比较困难,试了一个下午的时间,没有接入成功。然后我就自己百度了一些其他平台,经过多方对比,最后选择了互亿无线的短信接口www.ihuyi.com,也有赠送10条短信使用,注册完之后就能送,不够用的话可以多注册几个账号哈哈~
好了话不多说,现在分享起代码
首先是生成验证码的RandUtil类。这里验证码我定义的是6位数,利用随机数生成,为GetMessage提供验证码。
i
mport java.util.Random;
public class RandUtil {
public static String getRandNum() {
String randNum = new Random().nextInt(1000000)+"";
System.out.println("生成"+randNum);
if (randNum.length()!=6) { //如果生成的不是6位数随机数则返回该方法继续生成
return getRandNum();
}
return randNum;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
然后是一个发送验证码的工具类QueryUtil。这个类我们在里面写MD5的签名加密sig和时间戳timestamp的获取
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 类描述:发送验证码工具类
*/
public class QueryUtil {
public static String queryArguments(String ACCOUNT_SID,String AUTH_TOKEN, String smsContent,String to) {
String timestamp = getTimestamp(); //时间戳
String sig = MD5(ACCOUNT_SID,AUTH_TOKEN,timestamp);//签名认证
String str = "accountSid="+ACCOUNT_SID+"&smsContent="+
smsContent+"&to="+to+"×tamp="+timestamp+"&sig="+sig;
return str;
}
/**
* MD5加密
* @param args
* @return
*/
public static String MD5(String... args){ //动态参数
StringBuffer result = new StringBuffer();
if (args == null || args.length == 0) {
return "";
} else {
StringBuffer str = new StringBuffer();
for (String string : args) {
str.append(string);
}
System.out.println("加密前:\t"+str.toString());
try {
MessageDigest digest = MessageDigest.getInstance("MD5");
byte[] bytes = digest.digest(str.toString().getBytes());
for (byte b : bytes) {
String hex = Integer.toHexString(b&0xff); //转化十六进制
if (hex.length() == 1) {
result.append("0"+hex);
}else{
result.append(hex);
}
}
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
System.out.println("加密后:\t"+result.toString());
return result.toString();
}
/*
* 获取时间戳
*/
public static String getTimestamp(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = new Date();
return sdf.format(date);
}
---------------------
作者:hanjun1213
来源:CSDN
原文:https://blog.csdn.net/hanjun1213/article/details/84206260
版权声明:本文为博主原创文章,转载请附上博文链接!