Skip to content

🎲 随机数生成工具(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"

⚠️ 注意事项

  1. 安全性考虑

    • 不要用于生成加密密钥
    • 避免用于安全敏感场景
    • 注意随机数的可预测性
  2. 性能优化

    • 避免频繁生成大量随机数
    • 考虑使用缓存机制
    • 合理控制生成长度
  3. 使用建议

    • 验证码建议4-6位
    • 临时密码建议8-12位
    • 考虑字符易识别性
  4. 应用场景

    • 短信验证码
    • 临时密码生成
    • 随机文件名
    • 订单号生成

💡 最佳实践

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;
}