首页 > 编程语言 >编程:自己写的强密码生成函数:留存

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

时间:2024-05-07 11:45:25浏览次数:23  
标签:String 密码 int ary toCharStringArray 编程 len 留存 add

 

 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     }

 

标签:String,密码,int,ary,toCharStringArray,编程,len,留存,add
From: https://www.cnblogs.com/jinzhenshui/p/18176953

相关文章

  • 忘记zabbix监控平台Admin用户密码:Incorrect user name or password or account is tem
    如下图(实在想不起密码不要紧我们直接重新设置它):1.登入zabbix数据库[root@SJYS-Test1~]#mysql-uroot-pEnterpassword:WelcometotheMariaDBmonitor.Commandsendwith;or\g.2.进入zabbix库,查询users用户表MariaDB[(none)]>usezabbix;MariaDB[zabbix]>select......
  • Hyperf 的AOP 面向切面编程实战
    概念AOP为 AspectOrientedProgramming 的缩写,意为:面向切面编程,通过动态代理等技术实现程序功能的统一维护的一种技术。AOP是OOP的延续,也是Hyperf中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的......
  • Java面向对象编程概念
    面向对象编程(OOP)概念,如类、对象、继承、封装、多态概念:面向对象编程(Object-OrientedProgramming,简称OOP)是一种程序设计范型或编程范式。这种范式使用“对象”来设计应用程序和系统的各个部分。在面向对象编程中,万物皆对象,程序被视作一系列对象的集合,这些对象通过消息传递来交互......
  • 单片机开发编程用什么软件比较好
    今天给大家分享我从业单片机开发10年来必备的神器。下面,zhugedz就介绍下最常用到的一些编程软件。一、集成开发环境(IDE)集成开发环境一般是集写代码、编译代码、调试代码于一身的工具。1.KeilMDKKeil支持目前大多数单片机,Keil根据不同内核单片机,分为几个版本,最常用的就是Ke......
  • 搞IT的为什么不建议搞底层(编译器、编程语言、)——当你搬进你的新家之后,你会在意这个楼
    文字表达引自:https://www.youtube.com/watch?v=KITqGv1qYg8当你搬进你的新家之后,你会在意这个楼是谁打的地基吗?你猜猜那些打地基的工人赚多少钱,卖你沙发电视机微波炉的人赚多少钱,当你在你温馨的小家里舒适的生活的时候,你会想这地基打的真好吗,只有一种情况下你会想到地基的事,就......
  • C#的基于.net framework的Winform编程 - 编程手把手系列文章
          对于C#,笔者最早接触的是ASP.NET里的开发,后面对Winform程序也有一定的开发,但是真正理解和重新编码是这些年的事,在我的C#标签里有一些例子,记录了winform程序开发的一些功能。此文只是记录基于.netframework的用C#开发Winform程序的一个过程。1、安装VisualStud......
  • mysql忘记密码
      mysql修改用户密码的方法及命令 方法1:用SETPASSWORD命令 首先登录MySQL。 格式:mysql>setpasswordfor用户名@localhost=password('新密码'); 例子:mysql>setpasswordforroot@localhost=password('123'); 方法2:用mysqladmin 格式:mysqladmin-u用户名......
  • 面试必问并发编程内存模型JMM与内存屏障剖析 学习
    总课程:1、JMM。每个线程会产生一个变量副本。如下图所示,第二个变量修改了变量initFlag,但线程1并不会退出,是因为每个线程产生了副本。----解决方法:volatileCPU缓存一致性协议:MESI机制,以及内存模型底层八大原子操作。Volatile缓存可见性实现原理:底层实现主要通过汇编lock前......
  • 07.面向对象编程
    Java的核心思想就是OOP(面向对象编程)1.面向对象面向对象编程:Object-OrientedProgramming,OOP)本质:以类的方式组织代码,以对象的组织(封装)数据2.对象的创建2.1.创建与初始化对象创建对象:new使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化......