java 登陆短信验证码_JAVA短信验证登录
短信验证登陆
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短信验证登录相关推荐
- 短信验证码测试——短信轰炸之横向轰炸和纵向轰炸
短信轰炸也分为水平轰炸和垂直轰炸.按字面意思猜一下,就像这样.据我所知,目前还有很多短信接口可以被水平轰炸,尤其是在网页中,没有对短信接口做一些必要的限制,导致无限呼叫和滥用的存在. 因为手机号码格式 ...
- 使用阿里云短信服务API实现短信验证码以及短信服务通知
使用阿里云短信服务API实现短信验证码以及短信服务通知 前言 一 .短信调用简要说明 二 .官方不带签名原生态测试demo 调用结果如下 三 .以上为不带模板和签名的API调用结果 下面加入签名和模板 ...
- java 登陆短信验证码_Java实现短信验证码
原标题:Java实现短信验证码 声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. 短信验证码 短信验证码都是调 ...
- java生成短信验证码_Java随机生成手机短信验证码的方法
本文实例讲述了Java随机生成手机短信验证码的方法.分享给大家供大家参考,具体如下: /** * 创建指定数量的随机字符串 * @param numberFlag 是否是数字 * @param len ...
- java获取短信验证码_Java如何获取短信验证码
[基于创蓝253云通讯平台---短信验证码接口调用demo] package com.bcloud.msg.http; import java.io.ByteArrayOutputStream; im ...
- java实现发送短信验证码、短信验证码防刷校验-49
一:认证服务环境搭建 1.新建gulimail-auth-server 2.整合相关依赖 <!--引入commom依赖--><dependency><groupId> ...
- 云平台短信验证码通知短信java/php/.net开发实现
一.本文目的 大部分平台都有一个接入发送短信验证码.通知短信的需求.虽然市场上大部分平台的接口都只是一个非常普通的HTTP-GET请求,但终归有需要学习和借鉴使用的朋友. 本文的初衷是主要提供学习便利 ...
- [风一样的创作]二次封装阿里云短信 验证码 发送短信 查询短信 编辑短信
1.首先要注册阿里云,购买阿里云短信服务,拿到AccessKey ID和AccessKey Secret 链接: https://usercenter.console.aliyun.com/#/man ...
- android 验证码短信验证码,Android短信验证码倒计时验证的2种常用方式
前言 本文主要介绍的是短信验证码功能,这里总结了两种常用的方式,可以直接拿来使用. 看图 计时器 说明:这里的及时从10开始,是为了演示的时间不要等太长而修改的. 方法如下 1.第一种方式:Time ...
- C++开发短信验证码通知短信
提供可靠的用户手机认证服务 异常拦截.失败补呼.语音补呼等综合手段,为您提供高可靠的用户手机验证服务. 1 C++对接验证码短信接口DEMO示例 本文为您提供了C++版本的验证码短信接口对接DEMO示 ...
最新文章
- jetson nano 用 tensorrt 运行 nanodet(kitti数据集)
- 利用curl下载文件(进度条显示) 代码片段
- 区块链论文:Byzcoin,通过集体签名让比特币具有强一致性且强化安全
- 2020Alibaba数学预选赛第1轮试题
- 亚麻纤维截面形态_天然丝纤维蚕丝
- Windows 键盘操作快捷方式积累
- 通过nginx在window下部署项目
- linux中一些特殊的权限(setuid/setgid/sticky)
- Eclipse用法和技巧四:生成说明文档1
- 【7001】n阶法雷序列
- SecureCRT学习之道:SecureCRT常用快捷键设置与字体设置方法
- java8实战:使用流收集数据之toList、joining、groupBy(多字段分组)
- VS2017注册之找不到输入key的地方的解决方法
- 两个PDF比较标出差异_找出两份Word文档差异,你加班2小时完成,同事只用1分钟搞定...
- NOI前的做题计划记录
- 中性策略、回测结果对比、OK实盘报错“Close order size exceeds your available size”、OK开通新账户注意事项
- 桌面上 计算机 图标打不开,突然间电脑桌面上的所有图标都打不开了,怎么回事,求大神讲解...
- NOIP 2016 Day1 T3-换教室
- 前端面试题_2022-02
- Microsoft SQL Server 图书管理数据库的建立