短信验证码(发送短信验证码登录)
实现前台点击发送验证码,然后手机接受到验证码进行验证登录。话不多说直接来一波。
1、准备工作
首先我们要找到一个平台,例如:腾讯云、榛子云等一些平台。我这边演示的是榛子云。
1、去注册
登录 榛子云
登陆进去后是这个界面,账户余额会有一个,我这里用了就没有了。
2、下载jar包
注册好后我们要去下载这个平台的jar包
2、编写Java代码
我这里已经编写好了,注意看注释
/**
* 手机号验证--返回一个验证码进行验证
*
* @param phone
* 手机号
*/
public String phoneYz(String phone) {
// 实例化
Random rd = new Random();
// 实例化一个一个string数组
String[] strings = new String[] {
"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "q", "w", "e", "r", "t",
"y", "u", "i", "o", "p", "a", "s", "d", "f", "g", "h", "j", "k", "l", "z", "x", "c", "v", "b", "n", "m",
"Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "A", "S", "D", "F", "G", "H", "J", "K", "L", "Z", "X",
"C", "V", "B", "N", "M" };
// 定义一个变量接受
String authCode = "";
//拿到四个手机的0~9 24字母大小写
for (int i = 0; i < 4; i++) {
int sj = rd.nextInt(strings.length);
authCode += strings[sj];
}
// 第一个参数是固定的,第二个参数是你的AppId,第三个参数是你的AppSecret
ZhenziSmsClient client = new ZhenziSmsClient("https://sms_developer.zhenzikj.com", "","");
第一个参数不用管,点二个参数是我的应用里面AppId
,第三个参数是AppSecret
,看下图
// 用map集合封装
Map<String, Object> params = new HashMap<String, Object>();
// 手机号
params.put("number", phone);
// id
params.put("templateId", "");
这个里面的第一个参数如下图,第二个参数就是对应的id
就是下图11659,每个人是不一样的,也可以自己新建模板
String[] templateParams = new String[2];
// 验证码
templateParams[0] = authCode;
templateParams[1] = "1分钟";//这里一分钟也是可以调的
params.put("templateParams", templateParams);
String result = null;
try {
// 调用方法--把map集合放进去
result = client.send(params);
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
这里的map集合对应的就是模板里面{}里面的
3、完整代码
/**
* 手机号验证
*
* @param phone
* 手机号
*/
public String phoneYz(String phone) {
// 实例化
Random rd = new Random();
// 实例化一个一个string数组
String[] strings = new String[] {
"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "q", "w", "e", "r", "t",
"y", "u", "i", "o", "p", "a", "s", "d", "f", "g", "h", "j", "k", "l", "z", "x", "c", "v", "b", "n", "m",
"Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "A", "S", "D", "F", "G", "H", "J", "K", "L", "Z", "X",
"C", "V", "B", "N", "M" };
// 定义一个变量接受
String authCode = "";
for (int i = 0; i < 4; i++) {
int sj = rd.nextInt(strings.length);
authCode += strings[sj];
}
// 第一个参数是固定的,第二个参数是你的AppId,第三个参数是你的AppSecret
ZhenziSmsClient client = new ZhenziSmsClient("https://sms_developer.zhenzikj.com", "","");
// 用map集合封装
Map<String, Object> params = new HashMap<String, Object>();
// 手机号
params.put("number", phone);
// id
params.put("templateId", "");
String[] templateParams = new String[2];
// 验证码
templateParams[0] = authCode;
templateParams[1] = "1分钟";
params.put("templateParams", templateParams);
String result = null;
try {
// 调用方法--把map集合放进去
result = client.send(params);
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
我的分享就到这里 了,希望对你有用,感谢观看!!!
还没有评论,来说两句吧...