Java接入腾讯云短信验证功能,超详细,超简单!

您所在的位置:网站首页 如何设置腾讯视频登录验证码保存 Java接入腾讯云短信验证功能,超详细,超简单!

Java接入腾讯云短信验证功能,超详细,超简单!

2024-07-17 23:00| 来源: 网络整理| 查看: 265

在微信公众号上的个人会员注册的界面进行手机号验证功能,如下图:

1、注册认证步骤详解

我这里选择了腾讯云的,大家可以选其他公司的,都大同小异。那下面直接开始!新账号注册可以免费领取短信包一百条,设置成功后好像还会送一百条!如下图:

点击直接注册,我们会直接到如下界面!

我们直接点击短信,我们选择注册方式,微信扫码简单快速!注意需要「关注」服务号!

扫码完成,就已经注册成功,接下来就是实名认证!个人认证和企业认证两种方式,我这里选择的是个人认证。

填写个人认证的相关信息!

注册成功后,我们接下来正式开始完成短信调用的部分,因为发送短信我们需要携带签名,所以需要创建签名。点击国内短信------签名管理-----创建签名。因为我之前创建过,所以下面会显示一条!如图:

需要选择签名类型,我这里是公众号,根据自己的需求选择。填写名称可随意但是要符合要求(一般填写公司的名称),上传备案截图(选择类型不同,上传的截图不同,官网有实例,可以用来参考。)和说明后就可以确认提交,一般审核五分钟左右:

签名内容就是短信【一直Tom猫】中的文字。如下图:

签名创建成功后,我们需要创建正文模板,下选择国内短信----------正文模板管理,创建一个新的短信模板,步骤和签名创建类似,可以自定义短信内容,也可以套用模板。创建完成后也需要审核,前提是必须有签名才可以申请模板,不然会被驳回。申请成功如图:

创建新的正文模板,模板名称是用来表示那个正文模板的。如下图:

点击使用标准模板。会出现几个模板供我们选择使用!如下图:

签名和正文模板创建完成后,我们还需要创建应用,如下图:

我们只需要填写名称和应用简介。

创建应用成功界面。

我们点击基础设置,还可以设置一些其他的设置。比如发送的频率、白黑名单等。

我们的注册配置就完成了,下面就开始接入到我们的java中。

2、代码实现

首先需要导入两个包。

com.tencentcloudapi tencentcloud-sdk-java 3.1.87 com.github.qcloudsms qcloudsms 1.0.6

发送短信的工具类。在我们实际的开发中需要将这些配置信息放到配置文件中进行获取。将这些配置参数换成自己注册的就可以。

package com.example.demo.utils; import com.github.qcloudsms.SmsSingleSender; import com.github.qcloudsms.SmsSingleSenderResult; import com.github.qcloudsms.httpclient.HTTPException; import org.json.JSONException; import org.json.JSONObject; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import java.io.IOException; public class SMSUtil { public static String sendSMS(HttpServletRequest request, String phoneNumber) { String reStr = ""; //定义返回值 // 短信应用SDK AppID 1400开头 int appid = 1400****** ; // 短信应用SDK AppKey String appkey = "748b5b42c2896e46*****bf60fe43"; // 短信模板ID,需要在短信应用中申请 int templateId = 697*** ; // 签名,使用的是签名内容,而不是签名ID String smsSign = "一直Tom猫"; //随机生成四位验证码的工具类 String code = keyUtil.keyUtils(); try { //参数,一定要对应短信模板中的参数顺序和个数, String[] params = {code}; //创建ssender对象 SmsSingleSender ssender = new SmsSingleSender(appid, appkey); //发送 SmsSingleSenderResult result = ssender.sendWithParam("86", phoneNumber,templateId, params, smsSign, "", ""); if(result.result!=0){ reStr = "error"; } // 签名参数未提供或者为空时,会使用默认签名发送短信 HttpSession session = request.getSession(); //JSONObject存入数据 JSONObject json = new JSONObject(); json.put("Code", code);//存入验证码 json.put("createTime", System.currentTimeMillis());//存入发送短信验证码的时间 // 将验证码和短信发送时间码存入SESSION request.getSession().setAttribute("MsCode", json); reStr = "success"; } catch (HTTPException e) { // HTTP响应码错误 e.printStackTrace(); } catch (JSONException e) { // json解析错误 e.printStackTrace(); } catch (IOException e) { // 网络IO错误 e.printStackTrace(); }catch (Exception e) { // 网络IO错误 e.printStackTrace(); } return reStr; } }

生成四位验证码的工具类

package com.example.demo.utils; import java.util.Random; public class keyUtil { public static String keyUtils() { String str="0123456789"; StringBuilder st=new StringBuilder(4); for(int i=0;i 1000 * 60 * 1){ return "验证码过期"; } //将用户信息存入数据库、这里省略 return "success"; } }

我在本地测试的没有问题的。是不是 so easy!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3