编程:自己写的强密码生成函数:留存

 

 1     private static String get_StrongPassword(int len) {
 2         if (len < 6)
 3             len = 6;
 4 
 5         String digit = "0123456789";
 6         String alpha_lower = "abcdefghijklmnopqrstuvwxyz";
 7         String alpha_upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 8         String symbl = " `~!@#$%^&*()-_=+\\|[{]};:'\",<.>/?";
 9         // String space = " \t";
10 
11         ArrayList<String[]> ary = new ArrayList<String[]>();
12         ary.add(toCharStringArray(digit));
13         ary.add(toCharStringArray(alpha_lower));
14         ary.add(toCharStringArray(alpha_upper));
15         ary.add(toCharStringArray(symbl));
16 
17         String[] pass = new String[len];
18         String ss = "";
19 
20         // TODO get_StrongPassword : benchmark
21         for (int test = 0; test < 1000; test++) {
22             for (int i = 0; i < len; i++) {
23 
24                 String[] ae = ary.get((int) (Math.random() * 4));
25                 pass[i] = ae[(int) (Math.random() * ae.length)];
26             }
27             ss = prtStrAry(pass, len);
28         }
29 
30         return ss;
31     }

 

 1     private static String[] toCharStringArray(String str) {
 2         if (str == null)
 3             return null;
 4 
 5         ArrayList<String> chary = new ArrayList<String>();
 6         for (int i = 0; i < str.length(); i++)
 7             chary.add(str.substring(i, i + 1));
 8 
 9         return chary.toArray(new String[0]);
10     }

 

posted on 2024-05-07 11:32  jinzhenshui  阅读(14)  评论(0)    收藏  举报