Java加騰訊雲實現簡訊驗證碼功能
阿新 • • 發佈:2018-12-21
一、概要
現如今在日常工作和生活中簡訊驗證碼對於我們來說是非常熟悉的,比較常見的註冊賬號或者交易支付時候,手機會收到一個簡訊驗證碼,我們可以通過驗證碼來有效驗證身份,避免一些資訊被盜。
驗證身份
目前隨著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(); } } }
注:本部落格僅為個人學習筆記!