package com.gblfy.util;import org.springframework.stereotype.Component;import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;/*** 字符随机生成类*/
@Component
public class RandomStrUtil {/*** 随机产生类型枚举*/public static enum TYPE {/*** 小字符型*/LETTER,/*** 大写字符型*/CAPITAL,/*** 数字型*/NUMBER,/*** 大+小字符 型*/LETTER_CAPITAL,/*** 小字符+数字 型*/LETTER_NUMBER,/*** 大写字符+数字*/CAPITAL_NUMBER,/*** 大+小字符+数字 型*/LETTER_CAPITAL_NUMBER,}private static String[] lowercase = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o","p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"};private static String[] capital = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P","Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};private static String[] number = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "0"};/*** 静态随机数*/private static Random random = new Random();/*** 获取随机组合码** @param num  位数* @param type 类型* @type <br>小写字符型 LETTER,* <br>大写字符型 CAPITAL,* <br>数字型 NUMBER,* <br>大+小字符型 LETTER_CAPITAL,* <br>小字符+数字 型 LETTER_NUMBER,* <br>大字符+数字 型 CAPITAL_NUMBER,* <br>大+小字符+数字 型 LETTER_CAPITAL_NUMBER,*/public static String getRandom(int num, TYPE type) {ArrayList<String> temp = new ArrayList<String>();StringBuffer code = new StringBuffer();switch (type) {case LETTER:temp.addAll(Arrays.asList(lowercase));break;case CAPITAL:temp.addAll(Arrays.asList(capital));break;case NUMBER:temp.addAll(Arrays.asList(number));break;case LETTER_CAPITAL:temp.addAll(Arrays.asList(lowercase));temp.addAll(Arrays.asList(capital));break;case LETTER_NUMBER:temp.addAll(Arrays.asList(lowercase));temp.addAll(Arrays.asList(number));break;case CAPITAL_NUMBER:temp.addAll(Arrays.asList(capital));temp.addAll(Arrays.asList(number));break;case LETTER_CAPITAL_NUMBER:temp.addAll(Arrays.asList(lowercase));temp.addAll(Arrays.asList(capital));temp.addAll(Arrays.asList(number));break;}for (int i = 0; i < num; i++) {code.append(temp.get(random.nextInt(temp.size())));}return code.toString();}//测试public static void main(String[] args) {System.out.println(RandomStrUtil.getRandom(64, RandomStrUtil.TYPE.LETTER_CAPITAL));}
}

字符串随机生成工具类相关推荐

  1. 二维码 生成工具类(文件转Base64字符串,Base64字符串转文件)

    希望我的知识榨干了能帮到你解除困难,要是没有帮助你的,问度娘和知爹 一.POM.xml依赖下载 二.工具类提供 一.POM.xml依赖下载 <!-- 生成二维码依赖 --><depe ...

  2. java图形验证码生成工具类

    转载自   java图形验证码生成工具类 生成验证码效果       ValidateCode.java 验证码生成类 package cn.dsna.util.images; import java ...

  3. JAVA接口签名sign生成工具类

    签名规则 1.线下分配appid和appsecret,针对不同的调用方分配不同的appid和appsecret 2.加入timestamp(时间戳),10分钟内数据有效 3.加入流水号nonce(防止 ...

  4. java字符串加密解密工具类

    /*** 字符串加密解密工具类** @author guyuqiang* @date 2021-06-07*/ public class StringEncryptUtil {/*** 字符串默认键值 ...

  5. 分享万能java字符串编码转换工具类

    代码下载地址:http://www.zuidaima.com/share/1795356301560832.htm 原文:分享万能java字符串编码转换工具类 package com.zuidaima ...

  6. java 图形校验_java图形验证码生成工具类 web页面校验验证码

    java图形验证码生成工具类 web页面校验验证码 发布于 2020-7-14| 复制链接 摘记: 最近做验证码,参考网上案例,发现有不少问题,特意进行了修改和完善.验证码生成器: ```java i ...

  7. Java 字符串转码工具类

    StringConvertUtils.java package javax.utils;/*** 字符串转码工具类* * @author Logan* @createDate 2019-04-01* ...

  8. StringUtil:字符串处理的工具类

    一个字符串处理的工具类(●'◡'●) 包含以下功能: 判断应用程序是否安装 字符拆分成数组 MD5 加密 拼接后的字符串 替换字符串 判断多个参数是否都为空 将字符串转换成HTML格式的字符串 将HT ...

  9. 密钥生成工具类:RSA2 256位 加解密工具类 RsaUtils

    import java.io.IOException; import java.security.*; import java.security.spec.PKCS8EncodedKeySpec; i ...

最新文章

  1. 用Tkinter的Cancas实现一个写字板
  2. EAST算法超详细源码解析:数据预处理与标签生成
  3. 基于Java Bean Validation对Request参数进行校验的设计思路
  4. 汇编语言王爽实验17
  5. nexus下载 通过官网下载
  6. java软件工程师 英文简历_java软件工程师英文简历模板3篇
  7. win10计算机文件夹隐藏,Win10此电脑6个文件夹隐藏方法
  8. 两台计算机如何连接一个网络打印机共享,打印机怎么连接2台电脑?两台或多台电脑连接共享打印机操作方法...
  9. 怎么恢复oracle的包,Oracle的恢复管理器及DBMS_JOB包分析
  10. 23种设计模式归纳总结——结构型
  11. 胡说八道设计模式—观察者模式
  12. 可视化丨福尔摩斯探案集的数据分析
  13. 简单精干之 MyBatis-Plus
  14. 六问禅道5:需求和Bug的区别
  15. 索引一般加在什么字段上_在价值上亿的豪华游轮做服务员,是什么体验?网友:也就一般般吧...
  16. 1.8寸TFT屏幕显示汉字 PcToLCD2002完美版配置
  17. 人脸检测与识别:AlexNet人脸检测
  18. 【原创】技术员 Ghost Win 10(x86/x64)企业版/专业版(附属Xp/Win7系统下载)
  19. java 如何日期yyyy-mm-dd转换为yyyy/mm/dd_关于java:如何将字符串转换为yyyy-MM-dd HH:MM:ss格式的日期...
  20. 第11节:唤醒心灵的巨人

热门文章

  1. 由炮灰模型到“微软钻石题”
  2. mac 上传ftp服务器文件夹权限,mac 访问 ftp服务器文件夹权限
  3. 500张思维导图记38000单词_思维导图记单词,环环相扣难遗忘——2020奇速英语夏令营第三天...
  4. php mysql关键技术_中高级PHP开发者应该掌握哪些技术?
  5. 【转载】最全最详细Hadoop学习文章
  6. Snowflake核心技术解读系列——架构设计
  7. 谈身份管理之基础篇 - 保障云上安全,从[规范账号使用]开始
  8. 稳定性保障6步走:高可用系统大促作战指南!
  9. 构建实时数据仓库首选,云原生数据仓库AnalyticDB for MySQL技术解密
  10. 开发者说:如何使用插件降低上传文件部署服务的复杂度