Java后端利用腾讯云短信服务发短信

利用手机验证码进行注册或进行下一步操作已经是非常普遍的,这篇文章就教你如何是用腾讯云短信服务发送手机验证码。

文章目录

一、前提条件

二、代码实现

1.引入依赖

2.Java代码实现

3.代码改进

4.实现效果 

三,关于项目中验证码验证逻辑分享

1.发送手机验证码并进行Redis存储

2.验证逻辑


一、前提条件

 腾讯云官网账号,已开通短信服务

需要用到的参数 1.短信签名id,(需要审核)

2.短信正文签名模板,(需要创建审核)

3.应用id,(创建)

4.有剩余短信包(新用户开通后有免费200条,可购买)

 上面是需要具备的前提条件,腾讯云还可以设置条数限制。代码开发需要用到上面的参数,不懂得如何获得参数的可以去看这个视频 https://www.bilibili.com/video/BV1KE411K7Sd

二、代码实现

1.引入依赖

        <!--腾讯云手机验证码--><dependency><groupId>com.github.qcloudsms</groupId><artifactId>qcloudsms</artifactId><version>1.0.6</version></dependency>

2.Java代码实现

package com.liyingjie.lyjalipay.controller;import cn.hutool.core.util.RandomUtil;
import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import com.github.qcloudsms.httpclient.HTTPException;
import com.liyingjie.lyjalipay.domain.Sms;
import org.json.JSONException;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;import java.io.IOException;@SpringBootTest
class SmsControllerTest {@Testpublic void sms(){//腾讯云固定参数int appid = 1400655460;   //腾讯云应用idString appkey="133213";  //腾讯云应用Keyint templateId= 1354718;  //模板idString smsSign="杰杰不会hellowor";  //签名内容//可变参数String phoneNumber ="123456";//手机号码String code="131";//手机验证码String min="5";//有效时长try {String[] params = {code,min}; //param1,手机验证码;param2,有效时长,配合正文模板参数SmsSingleSender smsSingleSender = new SmsSingleSender(appid, appkey);SmsSingleSenderResult smsSingleSenderResult = smsSingleSender.sendWithParam("86", phoneNumber, templateId, params, smsSign, "", "");System.out.println(smsSingleSenderResult);} catch (IOException e) {e.printStackTrace();} catch (HTTPException | JSONException e) {e.printStackTrace();}}
}

3.代码改进

package com.liyingjie.lyjalipay.controller;import cn.hutool.core.util.RandomUtil;
import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import com.github.qcloudsms.httpclient.HTTPException;
import com.liyingjie.lyjalipay.domain.Sms;
import org.json.JSONException;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;import java.io.IOException;@SpringBootTest
class SmsControllerTest {@Testpublic void sms(){//腾讯云固定参数int appid = 1400655460; //应用idString appkey="76bcf5ddb58******"; //应用Keyint templateId= 222222;//模板idString smsSign="杰杰不会hellowor";//用户参数Sms sms =new Sms();sms.setPhoneNumber("132");sms.setCode(RandomUtil.randomNumbers(6));//验证码6位随机sms.setMin(5); //验证码有效时长try {String[] params = {sms.getCode(),Integer.toString(sms.getMin())};SmsSingleSender smsSingleSender = new SmsSingleSender(appid, appkey);SmsSingleSenderResult smsSingleSenderResult = smsSingleSender.sendWithParam("86", sms.getPhoneNumber(), templateId, params, smsSign, "", "");System.out.println(smsSingleSenderResult);} catch (IOException e) {e.printStackTrace();} catch (HTTPException | JSONException e) {e.printStackTrace();}}
}

4.实现效果 

三,关于项目中验证码验证逻辑分享

以上只有验证码发送,在前后端项目中要实现验证码验证,可以用redis缓存数据库实现

1.发送手机验证码并进行Redis存储

将上面的发送手机验证码封装成一个工具类SmsUtil里的一个方法。返回随机六位的验证码

将返回的验证码存储在redis中,以手机号码为key,验证码为值,有效时间统一一下。

    @ApiOperation("发送手机验证码")@GetMapping("/send/{phoneNumber}")public AjaxResult sendCode(@PathVariable("phoneNumber") String phoneNumber){String phoneCode = SmsUtil.send(phoneNumber);redisCache.setCacheObject(phoneNumber,phoneCode,5, TimeUnit.MINUTES);return AjaxResult.success(phoneCode);}

2.验证逻辑

在上一步发送完成之后,提交表单参数时携带者手机号与验证码参数,

String redisCode = redisCache.getCacheObject(phoneNumber);
Boolean flag = redisCode.equals(phoneCode)

 验证成功后再进行下一步操作,否则不执行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/35200.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

腾讯云完整建站过程

整个网站的建立其实是很简单的,总共包含如下几个步骤: 第一步&#xff1a;购买自己的云域名,首推腾讯云域名,学生党优惠力度很大 第二步&#xff1a;购买自己的云空间,我也是在腾讯云上购买的轻量级云服务器 第三步&#xff1a;将域名和云空间绑定起来,也就是域名的解析 第四步…

腾讯云服务器入门使用流程 新手必看教程

一、根据个人需要选择云服务器配置, 打开首页》云服务器,选好cpu、内存、带宽,地域,这几个是主要的。其他都可以默认选择。 二、登陆控制台 1、登陆账号之后,在首页右上角,点击控制台 进去看到服务界面,控制台比较容易看懂。搜索你需要的云产品 2、以云服务器为例,…

腾讯云GPU云服务器配置初体验

一、故事背景 GPU 云服务器&#xff08;GPU Cloud Computing&#xff09;是基于 GPU 的快速、稳定、弹性的计算服务&#xff0c;因此&#xff0c;可以广泛应用到深度学习训练/推理、图形图像处理以及科学计算等场景中。 GPU 云服务器提供和标准 CVM 云服务器一致的方便快捷的管…

使用腾讯云发送短信API接口实现(完整流程)

步骤 一、开通腾讯云短信服务二、申请签名前的准备&#xff08;申请公众号&#xff09;三、创建签名和模板四、腾讯云API实现发送短信五、使用springboot进行调用六、可能会报的错误 一、开通腾讯云短信服务 在腾讯云官网找到短信服务&#xff0c;开通 二、申请签名前的准备…

使用腾讯云发送短信 ---- 手把手教你搞定所有步骤

最近在跟着一位大佬搞他的Austin项目&#xff0c;austin项目核心功能&#xff1a;发送消息。 这里作者使用了腾讯云发送短信&#xff0c;因为注册就送 100条免费短信的额度。发短信的功能就不用花钱了。 这里就记录了使用腾讯云的整个过程 第一步&#xff1a;注册腾讯云 注…

注册免费使用腾讯云企业邮箱

新手小白适用 在狗爹上买的域名 然鹅现在并不赠送邮箱了 买空间倒是有赠送的 但是我还专门打客服问过 说是不稳定…. 还是入鹅厂的坑吧 小绿锁也是在鹅厂申请的 别问我为啥…. &#xff08;还不是因为穷。。&#xff09; 如果你是阿里云的空间或是那几个某空间都是赠送企业…

腾讯云账户注销操作教程

本篇文章为腾讯云账号注销操作教程&#xff0c;操作前请认真查阅腾讯云官方文档。 腾讯云官方文档地址&#xff1a;https://cloud.tencent.com/document/product/378/30252 文章说明&#xff1a;解决小白不知道如何注销腾讯云账号的问题。 操作必读的注意事项&#xff1a; 1.注…

使用腾讯云搭建青龙面板

一、申请一个轻应用服务器 我申请的Ubuntu20.04-Docker20-1Kmy服务器 点击面板进去&#xff0c;在防火墙中添加规则 5700端口 设置好防火墙后&#xff0c;使用本地工具或者直接在页面连接进服务器 二、下载青龙镜像 1、拉取镜像 docker pull whyour/qinglong:latest 注&…

腾讯云个人账号如何多开注册8个新用户账号

众所周知&#xff0c;腾讯云的优惠活动基本上都是新用户首购最优惠,然而腾讯云个人账号只能实名认证三个账号,3个账号都注册了&#xff0c;又想买服务器又不是新用户了怎么办&#xff0c;下面就由我来教大家如何实现再次注册5个账号&#xff0c;废话不多说了下面看教程。 新账…

使用腾讯云COS对象存储(详细流程)

一、开通COS对象存储 二、创建存储桶 基本信息 所属地域&#xff1a;请选择与您业务&#xff08;或用户数量&#xff09;相对集中的物理区域所对应的 COS 地域&#xff0c;设置后不可修改。地域的更多信息请参见 地域和访问域名。名称&#xff1a;请输入自定义的存储桶名称。设…

使用xshell连接腾讯云服务器

使用xshell连接腾讯云服务器 文章目录 使用xshell连接腾讯云服务器1.软件工具2.连接步骤a.确认自己的用户名和密码b.通过xshell进行连接 3.补充点 1.软件工具 xshell、云服务器&#xff08;轻量应用服务器&#xff09; 2.连接步骤 a.确认自己的用户名和密码 可以在腾讯云的…

腾讯云注册的域名怎么绑定ip?

首先要先弄个宝塔 输入公网ip要能看到下图才算成功。看这位大神教你 然后就可以开始我们的绑定啦&#xff01; 1、点击腾讯云的控制台&#xff1a; 2、点击域名注册&#xff1a; 3、我的已经注册好了&#xff0c;如果你没注册先去注册、备案。 4、点击解析&#xff1a; …

腾讯云账号注册方法介绍

腾讯云提供几百种云产品服务,在开始使用腾讯云服务之前,你要先注册一个腾讯云账号。拥有腾讯云账号后,就可以登录腾讯云,选购和使用稳定的云产品和服务。 腾讯云注册方式包括以下几种: 注册方式 描述 微信扫码注册 微信扫码注册腾讯云,后续使用微信扫码登录腾讯云,方便…

腾讯云OSS使用指南

腾讯云OSS使用指南 我之前做的小程序Markdown-img使用指南使用的图床都是白嫖图床&#xff0c;但最近好像都不太好用了&#xff0c;遇见图床等都相继出问题了。 只能感慨白嫖果然不靠谱&#xff0c;虽然之前对腾讯云OSS之类的服务很不感冒&#xff0c;因为这明显是个被套住吃…

ESP8266和腾讯云的使用

1. ESP8266简介 在乐鑫官网&#xff08;ESP芯片技术厂家&#xff09;可以看到&#xff0c;乐鑫把ESP8266称之为面向物联网应用的高性价比、高度集成的 Wi-Fi MCU 简单来说&#xff0c;ESP8266可以有两种功能&#xff0c;一是WiFi模块&#xff0c;二是32位MCU WiFi模块&…

如何使用腾讯云存储图片

一、图片存储方案介绍 1.存到自己公司购买的服务器上 优点&#xff1a; 好控制 缺点 成本高由于图片都存放到自己的服务器上&#xff0c;占据空间很大 2. 存到三方云服务器&#xff08;阿里云&#xff0c;七牛云&#xff0c;腾讯云&#xff09; 各种云有专门的为图片存储提…

腾讯云函数使用方法及注意事项

本人博客 https://blog.thatcoder.cn 本文以建立一个python推送课表为例 写好python文件 打包依赖 配置云函数 大功告成 写好python文件 def get_class(name, passwd):登入并获得课表网站数据 def findall(soundCode):将数据处理成answer数列 def msg(answer):判断当天有…

笔记:腾讯云服务器的使用

第一步 重装系统 第二步 重置密码 第三步 登录服务器 方法一&#xff1a; 使用腾讯云服务的登录方式 如果是【windows】&#xff0c;就像平时电脑一样使用即可 如果是【Linux】&#xff0c;输入 su 敲击回车 &#xff08; 然后提示你输入密码&#xff0c;注…

手把手教你进行腾讯云域名注册

本文转载自&#xff1a;手把手教你进行腾讯云域名注册 建站或企业信息化第一步就是注册域名&#xff0c;现梳理下在腾讯云注册域名步骤&#xff0c;分享给大家&#xff1a; 1、注册登录腾讯云&#xff08;若无账号先注册&#xff09; 2、绑定服务商 点击 这里 或 https://par…

R语言中如何利用ggplot2绘制qq图和boxplot图

文章目录 绘制qq图函数介绍geom_qq()参数介绍注意事项 例子 Using to explore the distribution of a variable绘制boxplot函数介绍参数介绍 例子利用分位点绘制箱线图 将qq图和箱线图进行融合函数介绍参数介绍注意事项 例子 绘制qq图 在ggplot2中绘制qq图需要两步&#xff0c…