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(); } } }
注:本博客仅为个人学习笔记!