java 随机密码
import java.util.Random; public class RandomPassword { public static void main(String[] args) { // int i =(int)(8+Math.random()*(20-8+1)); int i=8; RandomPassword rp = new RandomPassword(); String pd = rp.getRandomPassword(i); System.out.println(pd); } public String getRandomPassword(int len){ String result = null; result=this.makeRandomPassword(len); if (result.matches(".*[a-z]{1,}.*")&& result.matches(".*[A-Z]{1,}.*")&& result.matches(".*\\d{1,}.*")&& result.matches(".*[~!@#$%^&*\\.?].*") ) { return result; } result=this.makeRandomPassword(len); return result; } public String makeRandomPassword(int len){ char charr[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~!@#$%^&*.?".toCharArray(); StringBuilder sb = new StringBuilder(); Random r = new Random(); for (int i = 0; i < len; ++i) { sb.append(charr[r.nextInt(charr.length)]); } return sb.toString(); } }
import java.util.Random; public class RandomPassword2 { public static void main(String[] args) { char [] charr = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~!@#$%^&*.?".toCharArray(); char [] charr1 = "abcdefghijklmnopqrstuvwxyz".toCharArray(); char [] charr2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray(); char [] charr3 = "1234567890".toCharArray(); char [] charr4 = "~!@#$%^&*.?".toCharArray(); StringBuffer s1 = new StringBuffer(); StringBuffer s2 = new StringBuffer(); StringBuffer s3 = new StringBuffer(); Random r = new Random(); char a=charr1[r.nextInt(charr1.length)]; char b=charr2[r.nextInt(charr2.length)]; char c=charr3[r.nextInt(charr3.length)]; char d=charr4[r.nextInt(charr4.length)]; for (int i = 0; i < 4; ++i) { s1.append(charr[r.nextInt(charr.length)]); } s2.append(a).append(b).append(c).append(d); s3.append(s1).insert(r.nextInt(4)+1, s2); System.out.println(s3.toString()); } }