Day6
成员 |
任务 |
完成情况 |
许博文 |
数据库逻辑结构设计、后端架构设计 |
完成 |
旦增赤列 |
后端架构设计、数据库逻辑结构设计 |
完成 |
周翔 |
前端架构设计 |
完成 |
package
import java.util.Random;
/*
* 随机生成验证码工具类
public class ValidateCodeUtils
private String
/**
*随机生成验证码
@param Length 大于0的任意整数
areturn
codes
"23456789abcdefghijkmnopqrstuVWxyZABCDEFGHIJKLMNOPQRSTUVWXYXZ";
public static int generateValidateCode(int length){
int code = 0;
int range = (int)(Math.pow(10, length) - Math.pow(10, length - 1));if(length <= 1) {
code = (int)(new Random().nextInt(range) - Math.pow(10, length - 1));
return code;
return
/**
*随机生成指定长度字符串验证码
*@param Length 长度
* @return
public static String generateValidateCode4String(int length){
Random rdm = new Random();
String hash1 = Integer.toHexString(rdm.nextInt());
return hash1.substring(0, length);
}
f4j
public class sendMsgByPhone {
public static boolean sendMsgByPhone(String tel){
//判断redis中是否存在验证码
//jedis.ttl(key)
//存在
if(StringUtils.isNotBlank(tel)){
String code = ValidateCodeUtils.generateValidateCode4String( length: 4);
log.info("code{}", code);
//SMSUtils.sendMessage("XXXXXX","验证码有效期为 5 分钟,过期无效,请及时填写",tel, code);//redis 存储验证码code key为token
log.info ("code={}",code) ;
return true;
return false;
}
}
短信发送工具类
public class SMSUtils
/**
* 发送短信
* @param signName 签名
* @param templateCode 模板
* @param phoneNumbers 手机号
* @param param 参数
public static void sendMessage(String signName, String templateCode,String phoneNumbers,String param){
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "", "");
IAcsClient client = new DefaultAcsClient(profile);
SendSmsRequest request = new SendSmsRequest();
request.setSysRegionId("cn-hangzhou");
request.setPhoneNumbers (phoneNumbers);
request.setSignName(signName);
request.set TemplateCode (templateCode);
request.setTemplateParam("{\"code\":\""+param+"\"}");
try {
SendSmsResponse response=client.getAcsResponse (request);
System.out.println("短信发送成功");
}catch (ClientException e) {
- printStackTrace();
}
}
}
posted on 2023-12-17 21:01 20211205ZX 阅读(4) 评论(0) 编辑 收藏 举报