短信验证登陆

1、点击触发,以电话号码为参数调用发送验证登录短信方法

2、默认模板为验证模板

生成6位验证码

3、将生成的验证码和手机号码放入缓存,(已经设置好缓存存放时间)

4、调用发送模板短信方法发送短信(设置好短信中验证码有效的时间)

5、点击触发登陆,调用对应验证登录函数 ,以电话号码和验证码为参数

6、校验缓存中对应保留的信息

如果一致,登陆成功;

登陆不成功是返回原因(1、超时 2、验证码输入错误)

代码实现:

/**

*发送验证码短信

*参数:手机号码

*/

public void sendVerifyLoginSMS(String to) {

Jedis cache = sendSMSCache.getResource();

//生成六位验证码

String charValue = "";

for (int i = 0; i < 6; i++) {

char c = (char) (randomInt(0, 9) + '0');

charValue += String.valueOf(c);

}

//将生成的六位验证码和传进来的手机号码存入缓存,时间90S

try{

Pipeline pipeline = cache.pipelined();

pipeline.set("CACHE" + to, charValue);

pipeline.expire("CACHE", 90);

pipeline.sync();

}

finally

{

if (cache != null)

{

cache.close();

}

}

//验证码和显示时间

String[] datas = {charValue,"1.5"};

//短信模板

String templateId = "1";

sMSClientBiz.sendSMS(to, templateId, datas);

}

/**

* 生成随机数

*

* */

public int randomInt(int from, int to) {

Random r = new Random();

return from + r.nextInt(to - from);

}

/**

* 验证短信验证码登陆

*

* */

public boolean verifySMS(String to, String verifyCode) {

Jedis cache = sendSMSCache.getResource();

// 缓存中验证码

String cacheVerifyCode;

try{

cacheVerifyCode = cache.get("CACHE" + to);

}

finally

{

if (cache != null)

{

cache.close();

}

}

//如果赎金来的验证码和缓存中的验证码一致,则验证成功

if(verifyCode ==cacheVerifyCode ){

return true;

}else

return false;

}

java 登陆短信验证码_JAVA短信验证登录相关推荐

  1. 短信验证码测试——短信轰炸之横向轰炸和纵向轰炸

    短信轰炸也分为水平轰炸和垂直轰炸.按字面意思猜一下,就像这样.据我所知,目前还有很多短信接口可以被水平轰炸,尤其是在网页中,没有对短信接口做一些必要的限制,导致无限呼叫和滥用的存在. 因为手机号码格式 ...

  2. 使用阿里云短信服务API实现短信验证码以及短信服务通知

    使用阿里云短信服务API实现短信验证码以及短信服务通知 前言 一 .短信调用简要说明 二 .官方不带签名原生态测试demo 调用结果如下 三 .以上为不带模板和签名的API调用结果 下面加入签名和模板 ...

  3. java 登陆短信验证码_Java实现短信验证码

    原标题:Java实现短信验证码 声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. 短信验证码 短信验证码都是调 ...

  4. java生成短信验证码_Java随机生成手机短信验证码的方法

    本文实例讲述了Java随机生成手机短信验证码的方法.分享给大家供大家参考,具体如下: /** * 创建指定数量的随机字符串 * @param numberFlag 是否是数字 * @param len ...

  5. java获取短信验证码_Java如何获取短信验证码

    [基于创蓝253云通讯平台---短信验证码接口调用demo] package com.bcloud.msg.http; import java.io.ByteArrayOutputStream; im ...

  6. java实现发送短信验证码、短信验证码防刷校验-49

    一:认证服务环境搭建 1.新建gulimail-auth-server 2.整合相关依赖 <!--引入commom依赖--><dependency><groupId> ...

  7. 云平台短信验证码通知短信java/php/.net开发实现

    一.本文目的 大部分平台都有一个接入发送短信验证码.通知短信的需求.虽然市场上大部分平台的接口都只是一个非常普通的HTTP-GET请求,但终归有需要学习和借鉴使用的朋友. 本文的初衷是主要提供学习便利 ...

  8. [风一样的创作]二次封装阿里云短信 验证码 发送短信 查询短信 编辑短信

    1.首先要注册阿里云,购买阿里云短信服务,拿到AccessKey ID和AccessKey Secret 链接: https://usercenter.console.aliyun.com/#/man ...

  9. android 验证码短信验证码,Android​短信验证码倒计时验证的2种常用方式

    前言 ​本文主要介绍的是短信验证码功能,这里总结了两种常用的方式,可以直接拿来使用. 看图 计时器 说明:这里的及时从10开始,是为了演示的时间不要等太长而修改的. 方法如下 1.第一种方式:Time ...

  10. C++开发短信验证码通知短信

    提供可靠的用户手机认证服务 异常拦截.失败补呼.语音补呼等综合手段,为您提供高可靠的用户手机验证服务. 1 C++对接验证码短信接口DEMO示例 本文为您提供了C++版本的验证码短信接口对接DEMO示 ...

最新文章

  1. jetson nano 用 tensorrt 运行 nanodet(kitti数据集)
  2. 利用curl下载文件(进度条显示) 代码片段
  3. 区块链论文:Byzcoin,通过集体签名让比特币具有强一致性且强化安全
  4. 2020Alibaba数学预选赛第1轮试题
  5. 亚麻纤维截面形态_天然丝纤维蚕丝
  6. Windows 键盘操作快捷方式积累
  7. 通过nginx在window下部署项目
  8. linux中一些特殊的权限(setuid/setgid/sticky)
  9. Eclipse用法和技巧四:生成说明文档1
  10. 【7001】n阶法雷序列
  11. SecureCRT学习之道:SecureCRT常用快捷键设置与字体设置方法
  12. java8实战:使用流收集数据之toList、joining、groupBy(多字段分组)
  13. VS2017注册之找不到输入key的地方的解决方法
  14. 两个PDF比较标出差异_找出两份Word文档差异,你加班2小时完成,同事只用1分钟搞定...
  15. NOI前的做题计划记录
  16. 中性策略、回测结果对比、OK实盘报错“Close order size exceeds your available size”、OK开通新账户注意事项
  17. 桌面上 计算机 图标打不开,突然间电脑桌面上的所有图标都打不开了,怎么回事,求大神讲解...
  18. NOIP 2016 Day1 T3-换教室
  19. 前端面试题_2022-02
  20. Microsoft SQL Server 图书管理数据库的建立

热门文章

  1. java 专业英语单词_java_专业英语单词_力荐
  2. js substring、substr和slice 截取字符串
  3. JavaScript编程入门
  4. 前端企业级代码规范(巨详细)
  5. 通过命令符查看笔记本电脑的电池损耗
  6. Git取消add 、 commit、push的命令
  7. 无需开发!阿里大于推出全新短信群发助手
  8. 第53天-代码审计-TP5 框架及无框架变量覆盖反序列化(待续)
  9. 电池充电电路(TP4059)详解
  10. 开发对接微信卡包会员卡_微信公众号实现会员卡领取功能