使用java实现手机短信验证全过程

一、容联云平台

容联云平台是实现短信验证、还有语音功能等一些操作的平台,在平台注册还可以获得8元的新手额度,一条短信的费用是006元,也就是6分钱,在初学者测试也是可以非常人性化的,然后我这次进行测试的平台呢,也是用到容联云给进行展示

二、操作教程

2.1注册

当你注册进去之后会有8元的新手额度

填写测试号码

然后这里差不多了跟着下面走着

三、实践操作

3.1部署项目使用工具

本次使用的工具是IDEA,然后我为了简便就直接创建了Maven项目进行开发,因为使用到Maven之后是直接导入SDK的依赖即可,就不需要管jar包了

3.2具体操作

3.2.1、Maven依赖

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

3.2.2、不使用Maven获取JAR包方式

容联云通讯——开发文档——下载(短信Demo下载)——SDK参考(JAVA SDK文档):不使用maven时需要下载jar包,点击JAVA SMS SDK进入maven下载即可

四、测试

4.1、示例代码

在容联云已经有了测试的示例,但是我们还需要稍作修改
下面为SDK的示例示例代码

这些代码我们可以直接复制过去,等下直接进行使用,当然要注意几点的地方

4.2、修改步骤

4.2.1、容联云的相关账号信息

这三个里面的数据就是填写你容联云内的开发者账号内容

这是我们要修改的地方之一,修改的内容为
(1)accountSId
(2)accountToken
(3)appId

4.2.2、修改测试号码等信息

那么等我们把账户信息修改完之后呢,还需要哪些
你在发送的时候是不是需要一个6位的随机数!安排,只需要一条代码

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

我们再来看看运行效果

当然还有就是你的手机号、还有模板、模板的一些参数

这里的模板就是容联云的一个模板了

我选的登录模板,所以选1就好

//需要把验证号转发到的手机号码
        String to = "1560*******";
        //在短信管理中选择模板ID,我选择的是1
        String templateId = "1";
        //模板参数
        String[] datas = {code,"30分钟"};

4.2.3、存放哈希进行判断

//这里是使用了一个哈希map来存放手机号、模板ID、模板参数
        HashMap<String, Object> result = sdk.sendTemplateSMS(to,templateId,datas);
        //如果返回0000则正常发送,否则返回异常
        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"));
        }

4.2.4、测试

运行结束后正常情况没报错后一般是手机立马会收到消息的,然后收的验证码消息是和你的运行结果那串数字是一样的,我们这边进行测试了一下,下面来看下结果吧

(1)运行结果

(2)手机收到的短信验证结果!

可以看得到短信验证成功了
下面我在把我的总体测试代码发在下面,但是要记得把相关的一些数据改成自己的不然会报错呢

总体测试代码

package demo;

import com.cloopen.rest.sdk.BodyType;
import com.cloopen.rest.sdk.CCPRestSmsSDK;
import java.util.HashMap;
import java.util.Set;

/**
 * 短信验证测试
 * @author 藤井大叔
 */
public class SmsDemo {

    public static void main(String[] args) {
        //生产环境请求地址:app.cloopen.com
        String serverIp = "app.cloopen.com";
        //请求端口
        String serverPort = "8883";
        //主账号,登陆云通讯网站后,可在控制台首页看到开发者主账号ACCOUNT SID和主账号令牌AUTH TOKEN
        String accountSId = "请填写accountSId ";
        String accountToken = "请填写accountToken ";
        //请使用管理控制台中已创建应用的APPID
        String 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(code);
        //需要把验证号转发到的手机号码
        String to = "请填写手机号";
        //在短信管理中选择模板ID,我选择的是1
        String templateId = "1";
        //模板参数
        String[] datas = {code,"30分钟"};
        //这里是使用了一个哈希map来存放手机号、模板ID、模板参数
        HashMap<String, Object> result = sdk.sendTemplateSMS(to,templateId,datas);
        //如果返回0000则正常发送,否则返回异常
        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"));
        }
      }
    }

好了,短信验证其实也是很简单的一个小操作,今天就讲到这

到此这篇关于使用java实现手机短信验证全过程的文章就介绍到这了,更多相关java实现短信验证内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java获取手机号码归属地的实现

    遇到一个需求, 需要发送短信给全球各地的用户, 但是各大运营商的API都是 区分 国内 和 国际, 但是我们只有电话号码, 只能自己添加一个方法, 判断号码的归属地, 然后再分别调用相应区域的API. 引入依赖包 <!-- 电话号码工具类 --> <dependency> <groupId>com.googlecode.libphonenumber</groupId> <artifactId>libphonenumber</artifact

  • 大数据 java hive udf函数的示例代码(手机号码脱敏)

    Hive UDFHive UDF 函数1 POM 文件2.UDF 函数3 利用idea打包4 添加hive udf函数4.1 上传jar包到集群4.2 修改集群hdfs文件权限4.3 注册UDF4.4 使用UDF Hive UDF 函数 1 POM 文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"

  • 使用Java 实现一个“你画手机猜”的小游戏

    本文适合有 Java 基础的人群 作者:DJL-Lanking HelloGitHub 推出的<讲解开源项目>系列.有幸邀请到了亚马逊 + Apache 的工程师:Lanking( https://github.com/lanking520 ),为我们讲解 DJL -- 完全由 Java 构建的深度学习平台,本文为系列的第三篇. 一.前言 在 2018 年时,Google 推出了<猜画小歌>应用:玩家可以直接与AI进行你画我猜的游戏.通过画出一个房子或者一个猫,AI 会推断出各种物

  • Java实现发送手机短信语音验证功能代码实例

    这篇文章主要介绍了Java实现发送手机短信语音验证功能代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 利用第三方平台可以实现发送手机短信验证码和语音验证码的功能,本文使用框架是struts2+spring+hibernate,现就action层给出核心代码功能. public class VerifyAction extends BaseAction<VerifyRequest> { private static final long

  • java自定义注解验证手机格式的实现示例

    1.@Valid与@Validated的区别 1.1 基本区别 @Valid:Hibernate validation校验机制 @Validated:Spring Validator校验机制,这个也是最常用的 @Validation只是对@Valid进行了二次封装,在使用上并没有太大区别,但在分组.注解位置.嵌套验证等功能上有所不同 1.2 作用范围 @Validated:用在类型.方法和方法参数上.但不能用于成员属性(field) @Valid:可以用在方法.构造函数.方法参数和成员属性(fi

  • 微信小程序获取手机号,后端JAVA解密流程代码

    小程序获取手机号,后端JAVA解密流程代码 微信官方文档获取手机号流程地址,先看下最好方便理解下面步骤 实现思路,步骤如下 1.前端需先调用官方wx.login接口获取登录凭证code. 2.后端接收code 调用官方接口地址获取用户秘钥 sessionKey. 3.前端通过官方getPhoneNumber获取encryptedData,iv 4.前端通过参数**[encryptedData] .[iv] .[sessionKey]** 发送请求后端接口,解密用户手机号 小程序获取session

  • 如何使用Java redis实现发送手机验证码功能

    要求: 1.输入手机号,点击发送后随机生成6位数字码,2分钟有效 2.输入验证码,点击验证,返回成功或失败 3.每个手机号每天只能输入3次 代码如下 import redis.clients.jedis.Jedis; import java.util.Random; public class ValidationTest { public static void main(String[] args) { //getValidation("15005076571"); //checkV

  • 使用java实现手机短信验证全过程

    一.容联云平台 容联云平台是实现短信验证.还有语音功能等一些操作的平台,在平台注册还可以获得8元的新手额度,一条短信的费用是006元,也就是6分钱,在初学者测试也是可以非常人性化的,然后我这次进行测试的平台呢,也是用到容联云给进行展示 二.操作教程 2.1注册 当你注册进去之后会有8元的新手额度 填写测试号码 然后这里差不多了跟着下面走着 三.实践操作 3.1部署项目使用工具 本次使用的工具是IDEA,然后我为了简便就直接创建了Maven项目进行开发,因为使用到Maven之后是直接导入SDK的依

  • java实现手机短信验证的基本思路

    本文实例为大家分享了java实现手机短信验证的具体代码,供大家参考,具体内容如下 整体流程: 客户填入手机号,通过客户端点击获取验证码按钮,验证手机号是否有效,有效则客户端发送请求到后台服务器,客户端开始倒计时60s,不通过则返回; 服务器,验证手机号是否被注册或有效,通过则调用第三方的短信通信接口并发送相关数据(包括手机号和验证码),然后回调结果,成功则将验证码存入session,失败则返回提示,不通过则返回. 客户收到验证码后在有效时间内,填入并发送请求. 服务器端,收到请求后,用户发送过来

  • NodeJS 实现手机短信验证模块阿里大于功能

    1,NodeJS 安装阿里大于模块 切换到项目目录使用npm 安装阿里于模块 npm i node-alidayu --save 2,aliyu官网使用淘宝账户登录 登录阿里大于 https://doc.alidayu.com/doc2/index.htm 1登录后点击管理中心 2点击应用管理===>创建应用 3配置管理===>验证码====>里添加短信签名 4应用列表里===>操作一栏===>点击设置    记住 app   key 和 APP  sercret 5.后台代

  • java实现发送手机短信

    本文主要研究了JAVA语言发送手机,分享给大家,供大家参考,具体内容如下 JAVA发送手机短信,流传有几种方法: (1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册; (2)使用短信mao的方式进行短信的发送,这种方式应该是比较的常用,前提是需要购买硬件设备,呵呵; (3)使用中国网建提供的SMS短信平台,我的这个小的demo,是基于这个行是发送的. 说明:java实现发送手机短信 /** * 说明:java实现发送手机短信

  • Java随机生成手机短信验证码的方法

    本文实例讲述了Java随机生成手机短信验证码的方法.分享给大家供大家参考,具体如下: /** * 创建指定数量的随机字符串 * @param numberFlag 是否是数字 * @param length * @return */ public static String createRandom(boolean numberFlag, int length){ String retStr = ""; String strTable = numberFlag ? "1234

  • 基于Java随机生成手机短信验证码的实例代码

    简单版 /** * 产生4位随机数(0000-9999) * * @return 4位随机数 */ public static String getFourRandom() { return StringUtils.leftPad(new Random().nextInt(10000) + "", 4, "0"); } 复杂版 /** * 创建指定数量的随机字符串 * @param numberFlag 是否是数字 * @param length * @return

  • Java实现SMS短信通发送手机验证码案例讲解

    注册网建短信通账号 链接:http://sms.webchinese.cn/ 设置短信签名 注意不要乱写别的公司等,会被视为诈骗信息 设置短信密钥,发送时代替密码 Java方式实现 导入依赖 commons-httpclient-3.1.jar 编写SmsUtil工具类 import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.NameValuePair; import org.ap

  • Java开发完整短信验证码功能的全过程

    目录 前言 闲扯 使用技术 所需知识储备 实现步骤 总结 前言 现代互联网项目中,很多场景下都需要使用一种叫做验证码的技术,常用的有图片验证码,滑块验证码,短信验证码等,本文章描述的就是短信验证码的一个使用教程,从0开始完成一个验证码功能的开发. 闲扯 是不是看着导语很高大上!!! 我才不会说是因为最近不知道写啥才水的一篇文章 但是嘛,我要争取做到水文章也水的特别认真,让读者可以根据本文的教程实现验证码功能 使用技术 Java:所使用的后端技术 JSP:所使用的前端技术 阿里云短信服务:发送短信

  • Java实现发送短信验证码+redis限制发送的次数功能

    java实现短信验证码发送,由于我们使用第三方平台进行验证码的发送,所以首先,我们要在一个平台进行注册.这样的平台有很多,有的平台在新建账号的时候会附带赠几条免费短信.这里我仅做测试使用(具体哪个平台见参考三,很简单,注册账号就行,记得添加短信签名). 另外,在实际项目中,如果有人恶意攻击,不停的发送短信验证码,就会造成很大的损失.故对发送次数做一定的限制就非常必要,这里我们限制一个手机号一天可以发多少短信和短信平台无关. 这里采用的是存redis来实现这一个功能.就是每次调用发送验证码这个接口

随机推荐