1. 程式人生 > >Java加騰訊雲實現簡訊驗證碼功能

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

 

 注:本部落格僅為個人學習筆記!