Java加腾讯云实现短信验证码功能

1、概要

现现在在平常工做和生活中短信验证码对于咱们来讲是很是熟悉的,比较常见的注册帐号或者交易支付时候,手机会收到一个短信验证码,咱们能够经过验证码来有效验证身份,避免一些信息被盗。java

验证身份git

目前随着app软件以及一些电商网站发展,在注册相关帐号或者支付时候都离不了短信验证码,经过验证码可以有效避免一些重复数据或者烂数据。并且只须要而只要在规定时间内正确输入短信验证码,就能够直接登陆帐号或者进行相关交易支付等。github

1.0、具体的实现步骤

1.0.一、首先你必需要有一个备案成功的网站,而后添加一个短信应用,以下图:

第一步:建立短信应用json

第二步:建立短信签名网络

第三步:在第二步成功后再建立短信模板app

第四步:这里就设置完成了,接下来是Java代码,经过腾讯给的java sdk接口实现dom

 

package com.hexianwei.sms;

import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import org.json.JSONException;

import javax.xml.ws.http.HTTPException;
import java.io.IOException;
import java.util.Random;

public class SendSMSUtils {
    public static void main(String[] args) {
        //腾讯短信应用的 SDK AppID
        int appid = 1400******;
        String appkey = "****************************";//腾讯云短信中的 App Key
        int templateId = ******;// NOTE: 这里是短信模板ID须要在短信控制台中申请
        String smsSign = "";//设置信息标头,如【腾讯云】
        //验证码
        String str = "";
        try {
            //随机生成6位的验证码
            Random random = new Random();
            for (int i = 0; i < 6; i++) {
                str += random.nextInt(10);
            }
            String[] params = {str, "2"};
            SmsSingleSender ssender = new SmsSingleSender(appid, appkey);
            // 签名参数未提供或者为空时,会使用默认签名发送短信,这里的13800138000是为用户输入的手机号码
            SmsSingleSenderResult result = ssender.sendWithParam("86", "13800138000", templateId, params, smsSign, "", "");
            System.out.println(result);
        } catch (HTTPException e) {
            // HTTP响应码错误
            e.printStackTrace();
        } catch (JSONException e) {
            // json解析错误
            e.printStackTrace();
        } catch (IOException e) {
            // 网络IO错误
            e.printStackTrace();
        } catch (com.github.qcloudsms.httpclient.HTTPException e) {
            e.printStackTrace();
        }
    }
}

 

 注:本博客仅为我的学习笔记!学习

相关文章
相关标签/搜索