40 lines
1.3 KiB
Java
40 lines
1.3 KiB
Java
package com.jepsoninfo.util;
|
|
|
|
import java.util.Random;
|
|
|
|
public class VerifyCodeUtils {
|
|
private static final String VERIFY_CODES = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
private static final String NUMBER_VERIFY_CODES = "123456789";
|
|
|
|
/**
|
|
* 使用系统默认字符源生成验证码
|
|
* @param verifySize 验证码长度
|
|
* @return
|
|
*/
|
|
public static String generateVerifyCode(int verifySize){
|
|
return generateVerifyCode(verifySize, VERIFY_CODES);
|
|
}
|
|
|
|
public static String generateNumberVerifyCode(int verifySize){
|
|
return generateVerifyCode(verifySize, NUMBER_VERIFY_CODES);
|
|
}
|
|
/**
|
|
* 使用指定源生成验证码
|
|
* @param verifySize 验证码长度
|
|
* @param sources 验证码字符源
|
|
* @return
|
|
*/
|
|
public static String generateVerifyCode(int verifySize, String sources){
|
|
if(sources == null || sources.length() == 0){
|
|
sources = VERIFY_CODES;
|
|
}
|
|
int codesLen = sources.length();
|
|
Random rand = new Random(System.currentTimeMillis());
|
|
StringBuilder verifyCode = new StringBuilder(verifySize);
|
|
for(int i = 0; i < verifySize; i++){
|
|
verifyCode.append(sources.charAt(rand.nextInt(codesLen-1)));
|
|
}
|
|
return verifyCode.toString();
|
|
}
|
|
}
|