作者:霜霜c | 来源:互联网 | 2023-07-27 15:10
功能需求:(学习视频分享:java视频教程)1、后台随机产生4个字符2、1分钟以内只能发送1次验证码3、超过1分钟,但在5分钟以内,发送的验证码依然是第一次产生的验证码字符4、超过
功能需求:
(学习视频分享:java视频教程)
1、后台随机产生4个字符
2、1分钟以内只能发送1次验证码
3、超过1分钟,但在5分钟以内,发送的验证码依然是第一次产生的验证码字符
4、超过了5分钟以后,产生全新的验证码
前端使用什么框架先不管
依赖配置
短信依赖包 redis配置,因为验证码和手机号存储在redis中
短信平台使用的建网 sms ,http://www.smschinese.cn/ 可以免费使用5条 测试即可
注意:配置接口的 账户名 和 密钥 每个人是不同的,复制过去记得更改
短信依赖包
commons-httpclient
commons-httpclient
3.1
redis jar包
org.springframework.boot
spring-boot-starter-data-redis
使用redis前,要先配置连接,在application.properties配置
# redis 属性信息
## redis数据库索引(默认为0)
spring.redis.database=0
## redis服务器地址
spring.redis.host=localhost
## redis服务器连接端口
spring.redis.port=6379
## redis服务器连接密码(默认为空)
## spring.redis.password=123456
## 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=8
## 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=8
## 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=-1ms
## 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=0
创建一个工具类 StrUtils.getComplexRandomString ()// 获取随机字符 位数自己输入
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
* @author yaohuaipeng
* @date 2018/10/26-16:16
*/
public class StrUtils {
/**
* 把逗号分隔的字符串转换字符串数组
*
* @param str
* @return
*/
public static String[] splitStr2StrArr(String str,String split) {
if (str != null && !str.equals("")) {
return str.split(split);
}
return null;
}
/**
* 把逗号分隔字符串转换List的Long
*
* @param str
* @return
*/
public static List sp本文来源gaodai#ma#com搞*!代#%^码$网!litStr2LongArr(String str) {
String[] strings = splitStr2StrArr(str,",");
if (strings == null) return null;
List result = new ArrayList<>();
for (String string : strings) {
result.add(Long.parseLong(string));
}
return result;
}
/**
* 把逗号分隔字符串转换List的Long
*
* @param str
* @return
*/
public static List splitStr2LongArr(String str,String split) {
String[] strings = splitStr2StrArr(str,split);
if (strings == null) return null;
List result = new ArrayList<>();
for (String string : strings) {
result.add(Long.parseLong(string));
}
return result;
}
public static String getRandomString(int length) {
String str = "0123456789";
Random random = new Random();
StringBuffer sb = new StringBuffer();
for (int i = 0; i ");
}
return sBuilder.toString();
}
}