生成随机数

来源:互联网 发布:爱伦坡 乌鸦 知乎 编辑:程序博客网 时间:2024/06/10 11:39
/** 14
* 生成随机数
*
* @param passLength 生成长度
* @param type 生成类型
* @return
*/
public static String getCode(int passLength, int type)
{
StringBuffer buffer = null;
StringBuffer sb = new StringBuffer();
Random r = new Random();
r.setSeed(new Date().getTime());
switch (type)
{
case 0:
buffer = new StringBuffer("0123456789");
break;
case 1:
buffer = new StringBuffer("abcdefghijklmnopqrstuvwxyz");
break;
case 2:
buffer = new StringBuffer("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
break;
case 3:
buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
break;
case 4:
buffer = new StringBuffer("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
sb.append(buffer.charAt(r.nextInt(buffer.length() - 10)));
passLength -= 1;
break;
case 5:
String s = UUID.randomUUID().toString();
sb.append(s.substring(0, 8) + s.substring(9, 13) + s.substring(14, 18) + s.substring(19, 23)
+ s.substring(24));
}
if (type != 5)
{
int range = buffer.length();
for (int i = 0; i < passLength; ++i)
{
sb.append(buffer.charAt(r.nextInt(range)));
}
}
return sb.toString();
}