java随机生成8位密码-包括数字、大小写字母、特殊符号。
//返回随机产生的8位数 public String getRandomPassword(int len) { String result= this.makeRandomPassword(len); if (result.matches(".*[a-z]{1,}.*") && result.matches(".*[A-Z]{1,}.*") && result.matches(".*\\d{1,}.*") && result.matches(".*[~!@#$%^&*\\.?]{1,}.*")) { return result; } result = makeRandomPassword(len); } //产生8位随机数 public String makeRandomPassword(int len){ char charr[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~!@#$%^&*.?".toCharArray(); StringBuilder sb = new StringBuilder(); Random r = new Random(); for (int x = 0; x < len; ++x) { sb.append(charr[r.nextInt(charr.length)]); } return sb.toString(); }
完整的测试例子:
public class TestRandomNumber { public TestRandomNumber() { } public static void main(String[] args) { String randomNum = getRandomPassword(8); System.out.println(randomNum); } /** * 返回随机产生的8位数 */ public static String getRandomPassword(int len) { String result = makeRandomPassword(len); if (result.matches(".*[a-z]{1,}.*") && result.matches(".*[A-Z]{1,}.*") && result.matches(".*\\d{1,}.*") && result.matches(".*[~!@#$%^&*\\.?]{1,}.*")) { return result; } result = makeRandomPassword(len); return result; } /** * 产生8位随机数 * * @param len 长度 * @return */ public static String makeRandomPassword(int len) { char charr[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.".toCharArray(); StringBuilder sb = new StringBuilder(); Random r = new Random(); for (int x = 0; x < len; ++x) { sb.append(charr[r.nextInt(charr.length)]); } return sb.toString(); }