密码规则:8位+大写字母+小写字母+特殊字符
String password = "12345678"; int[] pwdindex = {0,1,2,3,4,5,6,7}; char[] specialCharacters = {'@','#','.','!','$'}; char[] numbers = { '0','1','2','3','4','5','6','7','8','9'}; char[] upperLetters = {'A','B','C','D','E','F','G','H','I','J', 'K','L','M','N','O','P','Q','R','S','T', 'U','V','W','X','Y','Z'}; char[] lowerLetters = {'a','b','c','d', 'e','f','g','h','i','j','k','l','m','n', 'o','p','q','r','s','t','u','v','w','x', 'y','z'}; char[] allCharacters = { '0','1','2','3','4','5','6','7','8','9', 'A','B','C','D','E','F','G','H','I','J', 'K','L','M','N','O','P','Q','R','S','T', 'U','V','W','X','Y','Z','a','b','c','d', 'e','f','g','h','i','j','k','l','m','n', 'o','p','q','r','s','t','u','v','w','x', 'y','z'}; //1. 随机生成特殊字符,随机 放到密码2-7位置中(特殊字符不出现在开头或结尾) //System.out.println("随机生成特殊字符,随机 放到密码2-7位置中"); int aindex = new Random().nextInt(5); //System.out.println(specialCharacters[aindex]); int aposition = new Random().nextInt(6)+1; //System.out.println(password.charAt(aposition)); password = password.replace(password.charAt(aposition), specialCharacters[aindex]); //System.out.println(password); //2. 随机生成数据,随机放到1-8位置中(除去第1步占用的位置) int bindex = new Random().nextInt(10); //System.out.println(numbers[bindex]); int bposition = 0; do{ bposition = new Random().nextInt(8); }while(bposition==aposition); //System.out.println(password.charAt(bposition)); password = password.replace(password.charAt(bposition), numbers[bindex]); //System.out.println(password); //3. 随机生成大写字母,随机放到1-8位置中(除去第1、2步占用的位置) int cindex = new Random().nextInt(26); //System.out.println(upperLetters[cindex]); int cposition = 0; do{ cposition = new Random().nextInt(8); }while(cposition==aposition||cposition==bposition); //System.out.println(password.charAt(bposition)); password = password.replace(password.charAt(cposition), upperLetters[cindex]); // System.out.println(password); //4. 随机生成小写字母,随机放到1-8位置中(除去第1、2、3步占用的位置) int dindex = new Random().nextInt(26); //System.out.println(lowerLetters[dindex]); int dposition = 0; do{ dposition = new Random().nextInt(8); }while(dposition==aposition||dposition==cposition||dposition==bposition); //System.out.println(password.charAt(bposition)); password = password.replace(password.charAt(dposition), lowerLetters[dindex]); //System.out.println(password); //前4步保证密码包含(特殊字符&大写字母&小写字母&数字 且位置是随机的) //5. 随机生成数字大小写字母,随机放到1-8位置中(除去第1、2、3、4步占用的位置,余下四位) for (int i = 0; i < pwdindex.length; i++) { if(pwdindex[i]!=aposition&&pwdindex[i]!=bposition &&pwdindex[i]!=cposition&&pwdindex[i]!=dposition){ int eindex = new Random().nextInt(62); password = password.replace(password.charAt(pwdindex[i]), allCharacters[eindex]); } } System.out.println(password);
相关推荐
java随机生成12位密码,自己写的,分享出来供大家免费使用
随机验证码。 - 随机生成十组六位字符组成的验证码。 - 验证码由大小写字母、数字字符组成。
随机生成8位字符密码,包括1位特殊字符,1位数字,1位小写字母,1位大写字母,其余4位随机
### Java生成随机密码知识点解析 #### 一、概述 在软件开发中,为了增强系统的安全性,经常需要生成随机密码或验证码。Java作为一种广泛使用的编程语言,提供了多种方式来实现这一功能。本文将详细介绍如何利用...
该代码可以生成一个大写字母+2个小写字母+6个数字+3个特殊字符的随机密码。Windows下运行参考:https://blog.csdn.net/u011177600/article/details/79520285
### Java随机生成数字和字母知识点解析 #### 一、引言 在Java编程语言中,随机生成数字和字母是一项常用的技术。它广泛应用于密码生成、验证码生成、游戏开发等场景。本文将通过一个简单的示例程序来介绍如何使用...
### 随机生成11位数字 #### 1. 理解需求 在给定的代码片段中,我们看到一个名为`getRandomString`的方法,其目的是生成一个长度为11的随机字符串。这个字符串包含数字和字母,但根据题目描述,我们需要的是一个纯...
本项目基于Struts、Spring和Mybatis这三大经典Java Web框架,提供了一种灵活的方式来生成8位无重复的随机数,并确保每次生成的随机数都是唯一的。 首先,让我们来理解这三个框架的核心功能: 1. **Struts**:这是...
### Java随机生成指定长度的用户名(字母数字格式) 在日常的软件开发中,有时我们需要为系统自动生成一些临时用户账号或者密码。为了确保这些账号或密码的安全性和唯一性,我们通常会选择通过编程的方式生成随机的...
Java随机字符串生成器,可用于生成随机密码,加密算法密约(AES,RSA等)等场景,支持可选字符范围配置(如只允许数字,只允许字母,只允许数字字母,特殊字符等混合配置),即在选择的字符范围内去实现随机字符串...
本篇文章将详细解析如何通过Java语言实现一个功能,即随机生成包含字母和数字的10位随机字符串。 #### 核心需求分析 根据题目描述,我们需要实现的功能是生成一个由字母和数字组成的10位随机字符串。这里的字母只...
Java 生成不定位数的 随机密码,密码长度和密码内容可以根据需要修改!
一个随机生成12位密码的生成器,密文包括特殊字符,大小写英文字母和数字
### 随机生成6位数的Java实现 在日常的软件开发过程中,经常会遇到需要生成随机数的需求,比如验证码、密码或者简单的编号等场景。本文将深入解析一个简单的Java程序,该程序能够生成随机的6位数字字符串,并探讨其...
本教程将详细介绍如何使用Java编程语言来实现随机生成用户密码和验证码的功能。 首先,我们来讨论随机生成用户密码的方法。一个良好的用户密码生成策略应该考虑到以下几个因素: 1. **复杂度**:密码应包含大小写...
1、JAVA MD5加密,AES加密解决; 2、项目需求,根据用户ID,软件名称,时间,硬件ID生成随机6位码,用户ID是可逆的。 基本思路是,两位存储用户ID,其他四位随机加密码,然后再讲两位 和四位二次混淆加密。
"Java开发技术调用Random函数,随机生成32位不重复的字符" 在Java开发技术中,生成随机数是非常常见的需求。例如,在注册用户账户时,需要生成一个随机的密码。在游戏开发中,需要生成随机数来决定游戏的结果。在...
java代码-使用java生成一个固定位数的随机字符串,并加密,和用户密码加密后的密文组合的源代码 ——学习参考资料:仅用于个人学习使用!
本篇文章将深入探讨如何使用Java编程语言来创建一个随机密码生成器。Java是一种广泛使用的面向对象的编程语言,它提供了丰富的库和功能,非常适合进行这样的任务。 首先,我们需要了解随机密码的基本要素。一个强大...
上述代码是一个Java小工具,名为 "RandomPasswordGenerator",它可以生成随机密码。用户可以指定密码的长度以及是否包括大写字母、数字和特殊字符,然后通过调用 `generateRandomPassword` 方法生成随机密码。工具的...