由于我们做了个类似API的后台程序 ,需要处理这里的东西,所以呢就去找了个随机生成字符串的,还不错哦
我们可以使用的地方还是比较的多的吧!比如账单信息,这些都需要唯一的key值 ,话不多说,贴代码
package test;
import java.util.Date;
import java.util.Random;
import java.util.UUID;
/**
*
* @author JetWang
* @date 2016年4月26日-下午10:44:13
*/
public class RandomUtil {
/**
* 获得随机字符串!
* @param passLength 字符串大小
* @param type
* @category type 1 数字
* @category type 2 大写
* @category type 3 小写
* @category type 4 大小写复制
* @category type 5 默认函数
* @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();
}
}