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();
        }
    }
}

 

 注:本博客僅爲我的學習筆記!學習

相關文章
相關標籤/搜索