主题切换
🎲 随机数生成工具(RandomHelper)
📖 功能介绍
TIP
RandomHelper 是一个便捷的随机数生成工具类,提供了数字、字母、字符串等多种随机值的生成功能,适用于验证码、临时密码等场景。
🛠️ 核心功能
1. 随机值生成
方法 | 说明 | 参数 | 返回示例 |
---|---|---|---|
randomNumeric | 生成随机数字 | 长度 | "123456" |
randomAlphabetic | 生成随机字母 | 长度 | "abcDEF" |
randomStr | 生成随机字符串 | 长度 | "a1B2c3" |
randomCaptcha | 生成验证码 | 长度 | "A2B4C6" |
💡 使用示例
1. 生成随机数字
java
// 生成6位随机数字
String numbers = RandomHelper.randomNumeric(6);
// 可能的结果: "847291"
// 生成手机验证码
String verifyCode = RandomHelper.randomNumeric(4);
// 可能的结果: "5731"
2. 生成随机字母
java
// 生成8位随机字母
String letters = RandomHelper.randomAlphabetic(8);
// 可能的结果: "kTmNpQrS"
// 生成临时用户名
String username = "user_" + RandomHelper.randomAlphabetic(5);
// 可能的结果: "user_AbCdE"
3. 生成随机字符串
java
// 生成10位随机字符串(数字和字母混合)
String mixed = RandomHelper.randomStr(10);
// 可能的结果: "a7Kp9mN4vX"
// 生成临时密码
String tempPassword = RandomHelper.randomStr(12);
// 可能的结果: "kJ8mP2nX5vB9"
4. 生成验证码
java
// 生成4位验证码
String captcha = RandomHelper.randomCaptcha(4);
// 可能的结果: "A2B4"
// 生成6位验证码
String longCaptcha = RandomHelper.randomCaptcha(6);
// 可能的结果: "X7Y9Z5"
⚠️ 注意事项
安全性考虑
- 不要用于生成加密密钥
- 避免用于安全敏感场景
- 注意随机数的可预测性
性能优化
- 避免频繁生成大量随机数
- 考虑使用缓存机制
- 合理控制生成长度
使用建议
- 验证码建议4-6位
- 临时密码建议8-12位
- 考虑字符易识别性
应用场景
- 短信验证码
- 临时密码生成
- 随机文件名
- 订单号生成
💡 最佳实践
1. 验证码生成
java
public String generateVerificationCode() {
// 生成6位数字验证码
String code = RandomHelper.randomNumeric(6);
// 存储验证码并设置过期时间
// cacheService.set("verify_code:" + userId, code, Duration.ofMinutes(5));
return code;
}
2. 临时密码生成
java
public String generateTempPassword() {
// 生成12位包含数字和字母的临时密码
String password = RandomHelper.randomStr(12);
// 进行必要的密码强度验证
return password;
}