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

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

时间:2024-05-07 11:45:25浏览次数:20  
标签: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关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化......
  • C++-专家编程(全)
    C++专家编程(全)原文:annas-archive.org/md5/57ea316395e58ce0beb229274ec493fc译者:飞龙协议:CCBY-NC-SA4.0前言学习路径和技术简介。这个学习路径适合谁这个学习路径适合想要提升并学习如何在最新版本的Java中构建健壮应用程序的Java开发人员。这个学习路径涵盖了什......