Java加騰訊雲實現短信驗證碼功能


一、概要

現如今在日常工作和生活中短信驗證碼對於我們來說是非常熟悉的,比較常見的注冊賬號或者交易支付時候,手機會收到一個短信驗證碼,我們可以通過驗證碼來有效驗證身份,避免一些信息被盜。

驗證身份

目前隨着app軟件以及一些電商網站發展,在注冊相關賬號或者支付時候都離不了短信驗證碼,通過驗證碼能夠有效避免一些重復數據或者爛數據。而且只需要而只要在規定時間內正確輸入短信驗證碼,就可以直接登錄賬號或者進行相關交易支付等。

1.0、具體的實現步驟

1.0.1、首先你必須要有一個備案成功的網站,然后添加一個短信應用,如下圖:

第一步:創建短信應用

第二步:創建短信簽名

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

第四步:這里就設置完成了,接下來是Java代碼,通過騰訊給的java sdk接口實現

 

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

 

 注:本博客僅為個人學習筆記!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM