Java随机生成手机短信验证码

34次阅读

共计 651 个字符,预计需要花费 2 分钟才能阅读完成。

简单版
/**
* 产生 4 位随机数 (0000-9999)
*
* @return 4 位随机数
*/
public static String getFourRandom() {
return StringUtils.leftPad(new Random().nextInt(10000) + “”, 4, “0”);
}
复杂版
/**
* 创建指定数量的随机字符串
* @param numberFlag 是否是数字
* @param length
* @return
*/
public static String createRandom(boolean numberFlag, int length){
String retStr = “”;
String strTable = numberFlag ? “1234567890” : “1234567890abcdefghijkmnpqrstuvwxyz”;
int len = strTable.length();
boolean bDone = true;
do {
retStr = “”;
int count = 0;
for (int i = 0; i < length; i++) {
double dblR = Math.random() * len;
int intR = (int) Math.floor(dblR);
char c = strTable.charAt(intR);
if ((‘0’ <= c) && (c <= ‘9’)) {
count++;
}
retStr += strTable.charAt(intR);
}
if (count >= 2) {
bDone = false;
}
} while (bDone);

return retStr;
}

正文完
 0