前提:

开发环境:jdk1.8 + idea2020

准备工作:

1.登录容联云官网https://www.yuntongxun.com

2. 按照提示注册一个容联云账号

3. 注册完成点击控制台如下页面

需要记住:ACCOUNT SID,AUTH TOKEN,AppID,后面的程序中会用到

4.点击左侧应用管理,点击创建应用

5,点击编辑,勾选短信验证码,短信通知即可

6,点击测试号码,填写自己的手机号即可,到此容联云工作基本完成

Java代码:

可以参考容联云主页   ➡️  开发文档  ➡️   短信开发手册 里面有关于java开发的代码

我的java程序如下:

1. 利用maven导入依赖

   <dependencies><dependency><groupId>com.cloopen</groupId><artifactId>java-sms-sdk</artifactId><version>1.0.4</version></dependency></dependencies>

2.

package com.amazon.platform.common.utils;
import com.cloopen.rest.sdk.BodyType;
import com.cloopen.rest.sdk.CCPRestSmsSDK;
import java.util.HashMap;
import java.util.Set;public class AuthCodeUtil {public static void main(String[] args) {authCode("前端输入的手机号");}public static void authCode(String phoneNumber){//生产环境请求地址:app.cloopen.comString serverIp = "app.cloopen.com";//请求端口String serverPort = "8883";//主账号,登陆云通讯网站后,可在控制台首页看到开发者主账号ACCOUNT SID和主账号令牌AUTH TOKENString accountSId = "输入你账户里面的ACCOUNT SId";String accountToken = "主账号令牌AUTH TOKEN";//请使用管理控制台中已创建应用的APPIDString appId = "管理控制台中已创建应用的APPID";CCPRestSmsSDK sdk = new CCPRestSmsSDK();sdk.init(serverIp, serverPort);sdk.setAccount(accountSId, accountToken);sdk.setAppId(appId);sdk.setBodyType(BodyType.Type_JSON);//随机生成6位数字验证码String code = String.valueOf(Math.random()).substring(2, 8);System.out.println("随机生成的6位验证码是: " + code);String to = phoneNumber;String templateId= "1";String[] datas = {code,"10"};
//        String subAppend="1234";  //可选 扩展码,四位数字 0~9999
//        String reqId="fadfafas";  //可选 第三方自定义消息id,最大支持32位英文数字,同账号下同一自然天内不允许重复//HashMap<String, Object> result = sdk.sendTemplateSMS(to,templateId,datas);HashMap<String, Object> result = sdk.sendTemplateSMS(to,templateId,datas);if("000000".equals(result.get("statusCode"))){//正常返回输出data包体信息(map)HashMap<String,Object> data = (HashMap<String, Object>) result.get("data");Set<String> keySet = data.keySet();for(String key:keySet){Object object = data.get(key);System.out.println(key +" = "+object);}}else{//异常返回输出错误码和错误信息System.out.println("错误码=" + result.get("statusCode") +" 错误信息= "+result.get("statusMsg"));}}
}

3.注意:这里的String templateId= "1";是我使用的模版是1,你可以根据自己的需要进行更改,里面的code随机验证码,10代表,有效期10分钟

String templateId= "1";
String[] datas = {code,"10"};

4.这段代码代表随机生成6位验证码,自己可以根据需要进行更改

//随机生成6位数字验证码String code = String.valueOf(Math.random()).substring(2, 8);System.out.println("随机生成的6位验证码是: " + code);

总结:

个人理解:第三方短信验证码逻辑:

java程序生成验证码(4位,6位等等)-> 第三方平台 -> 发送短信给手机 -> 然后前段用户输入验证码 -> java程序进行校验

java程序还需要根据我们设置的过期时间进行比较校验

Java实现短信验证码功能(利用容联云,个人测试,不需要项目上线)相关推荐

  1. Java配置短信验证码功能实现录

    Java配置短信验证码功能实现录 1.准备: 1.注册登录腾讯云(搜索短信,进入相应控制页面) 2.有一个对应的Spring项目 2.腾讯云相关操作: 1.进入腾讯云→国内短信→签名管理 2.创建签名 ...

  2. python控制手机发短信_python-在python3中使用容联云通讯发送短信验证码

    2020-08-15更新 今天进容联云官网发现其已经更新了最新版的Python SDK,可以直接 pip install ronglian_sms_sdk 即可安装使用,具体新的使用方法可以查看官网案 ...

  3. go 服务接入短信验证码功能(对接阿里云平台)

    简介 短信验证码还是比较常用的功能,已经有了很成熟的方案,本篇介绍的是对接阿里云的短信服务,一条短信大概两分钱. 基本的流程是: 到对应的云平台申请权限,大致费用都差不多 照着官方文档进行对接,并集成 ...

  4. Django验证码*短信验证码之2-容联云通讯短信平台(联云通讯短信平台介绍、容联云通讯Python SDK、封装发送短信单例类)

    容联云通讯短信平台介绍 容联云通讯网址:https://www.yuntongxun.com/ 容联云管理控制台 容联云创建应用 容联云通讯Python SDK https://doc.yuntong ...

  5. java短信验证码功能发送的验证码如何校验_java 实现发送短信验证码功能

    原标题:java 实现发送短信验证码功能 如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信 的接口. 1. 安装sdk 下载地址: http://smsow.zhenz ...

  6. java短信验证码功能发送的验证码如何校验_Java实现发送短信验证码功能

    一个发送短信验证码的功能,使用的是信易通的短信平台接口,然后在Java中使用HttpClient模拟POST请求或者GET请求(看短信平台要求,一般的情况下都是POST请求),调用短信平台提供的接口( ...

  7. 阿里云——Java实现手机短信验证码功能

    目录 如何实现短信验证码功能 1.准备工作 1.1 注册 阿里云 账号,并完成实名认证.找到短信服务功能. 1.2 开通短信服务 1.3 签名与模板 1.4 获取AccessKey 1.5 打开短信控 ...

  8. java短信内容加链接_Java加腾讯云实现短信验证码功能

    准备工作 1.选择服务 2.添加应用:我已经添加完了 3.点击应用名称 4.出现ID和Key 5.编辑短信创建签名 6.在第5步后 使用到的jar包: qcloudsms-1.0.2.jar com. ...

  9. Java实现短信验证码--(完整教程)

    原 Java实现短信验证码--(完整教程) 2018年04月24日 13:03:12 北山_ 阅读数 19189更多 分类专栏: Java 阿里云 版权声明:本文为博主原创文章,遵循 CC 4.0 B ...

  10. Mob实现短信验证码功能

    1.各类第三方短信功能对比 1.一直想做一个Android短信验证码功能,但是由于业务上没有需求,还有就是短信验证码原来一直以为是收费的,就没做过,今天上网查了一下,好多第三方SDK. 网易云短信验证 ...

最新文章

  1. 对软连接进行cp,rm
  2. 肝!精心整理了 50 个数据源网站!
  3. fpu测试_I510400性能及温度测试详解
  4. linux 进程开始与终止
  5. javascript乘法和加法_js 大整数加法、乘法、除法
  6. Linux学习之基本介绍
  7. python-main
  8. OpenVDB:梦工厂的有效存储和处理离散在三维网格上的稀疏体积数据C++库
  9. 【转】Qt中的QString,QByteArray,Qchar, char*
  10. 华科计算机系研究生遗书,看完华中科大研究生遗书《狗血的研究生生涯》,泪目了!有话要说...
  11. 基于visual Studio2013解决C语言竞赛题之0203格式化输出
  12. Golang闭包的典型应用
  13. CCF201909-5 城市规划【树形DP】(100分题解链接)
  14. 数据预处理—4.为什么要趋近于正态分布?详解
  15. 互联网金融业务中的风控
  16. Matlab深度学习工具箱的使用
  17. setImageResource导致的ANR
  18. 文件共享服务器热备,两台云服务器如何实现双机热备
  19. android ip查看工具,安卓手机查看IP地址的两种方法
  20. 人工智能之知识图谱概述(一)

热门文章

  1. 最新苹果商务管理ABM注册及使用
  2. 计算机启动时检测硬盘,电脑总是启动检测硬盘怎么办
  3. jquery 基础教程[温故而知新二]
  4. 单片机开发,推荐开源跨平台的SDCC编译器
  5. Python-个人笔记-Tensorflow-PINN-Plotting
  6. ai画面怎么调大小_Adobe Illustrator(Ai)里怎么改变图像大小,快捷键是什么?
  7. 关于printf的输出——进制转换
  8. 论文阅读 -- unsupervised triplet hashing for fast image retrieval笔记
  9. Python对excel合并单元格
  10. 2021智能零售领域最具商业合作价值企业盘点