指定位数的纯数字、纯字母的随机字符串生成工具

这个工具类需要依赖common-lang3,可以实现指定位数的纯数字、纯字母的随机字符串生成,还可以自定义种子,根据您自定义的种子生成需要的随机字符串,源码如下:

import org.apache.commons.lang3.RandomUtils;

/**
 * 随机数工具类
 * @author vic_miao
 * 2018-7-24 21:00:50
 */
public final class RandomUtil {
    
    private final static String  KEYSTR = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
    private final static String  KEYNUM = "0123456789";
    private final static int  KEYLENGTH = 6; 
    
	/**
	 * 获取指定位数的随机数(整数)
	 * @param num
	 * @return
	 */
	public static String getRandomNum(int num){
		String random = getRandom(KEYNUM, num);
		return random;
	}
	
	/**
	 * 获取指定位数的随机数(字符串)
	 * @param num
	 * @return
	 */
	public static String getRandomString(int num){
	    String random = getRandom(KEYSTR, num);
	    return random;
	}
	
	/**
	 * 根据传入的种子获取随机字符串
	 * @param key  种子(默认为字母+数字混合)
	 * @return
	 */
	public static String getRandom(String key){
	    if(StringUtils.isEmpty(key)){
	        key = KEYSTR;
	    }
	    String random = getRandom(key,KEYLENGTH);
       return random;
	}
	
	/**
	 * 根据传入的种子获取指定长度的随机字符串
	 * @param key    种子(默认为字母+数字混合)
	 * @param length  长度
	 * @return
	 */
	public static String getRandom(String key,int length){
	    if(StringUtils.isEmpty(key)){
	        key = KEYSTR + KEYNUM;
	    }
	    StringBuilder sb = new StringBuilder();
	    for (int i=0;i

 

你可能感兴趣的:(java基础)