随笔 - 746  文章 - 0  评论 - 39  阅读 - 79万

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

 

复制代码
 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   jinzhenshui  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2020-05-07 XP:最后的firefox浏览器:Firefox52.90版是最后一个支持 Windows XP 和 Windows Vista 的升级版

点击右上角即可分享
微信分享提示