`
congpeixue
  • 浏览: 274688 次
  • 性别: Icon_minigender_1
  • 来自: ...
社区版块
存档分类
最新评论

Password Generate

 
阅读更多

package password;

import java.util.Random;

/**
 * @author 丛培雪 E-mail:congpeixue@126.com
 * @version 创建时间:2008-6-9 下午08:34:37 类说明
 */
public class PasswordGenerator {
	public static void main(String[] args) throws Exception {
		PasswordGenerator passwordGenerator = new PasswordGenerator();
		for (int i = 20; i <= 100; i++) {
			System.out.println(passwordGenerator.generate(PRINTABLE_CHARACTERS,
					i));
		}
	}

	protected Random m_generator = new Random();

	public static final String DIGITS = "0123456789";
	public static final String LOCASE_CHARACTERS = "abcdefghijklmnopqrstuvwxyz";
	public static final String UPCASE_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	public static final String PRINTABLE_CHARACTERS = DIGITS
			+ LOCASE_CHARACTERS + UPCASE_CHARACTERS;

	public String generate(String chars, int passLength) throws Exception {
		if (passLength > chars.length()) {
			throw new Exception("Password generation is imposible");
		}
		char[] availableChars = chars.toCharArray();
		int availableCharsLeft = availableChars.length;
		StringBuffer temp = new StringBuffer(passLength);
		for (int i = 0; i < passLength; i++) {
			int pos = (int) (availableCharsLeft * m_generator.nextDouble());
			temp.append(availableChars[pos]);
			// 出现过的下一次就不会出现了
			availableChars[pos] = availableChars[availableCharsLeft - 1];
			
			// 替换其他单词的单词将不会出现2遍以上,防止增加后面单词的出现几率
			--availableCharsLeft;
		}
		return String.valueOf(temp);
	}
}


分享到:
评论

相关推荐

    Password_Generate.zip_password

    password generate , numeric , alfabetic

    noPassword:stateless password generate,通过输入内容 获取唯一密码(不存储在任何地方)

    noPassword 一个密码生成器,用于生成随机字符密码,使用golang编写,可生成多平台二进制可执行程序 简单描述 这是一个简单的密码生成工具,目的在于为每个需要登录的应用设置自己的不同的密码,且不在任何地方存储...

    php 密码生成类 generate password

    Generate Password class,根据指定规则生成password 功能: 1.可设定密码长度。 2.可设定要生成的密码个数,批量生成。 3.可以指定密码的规则,字母,数字,特殊字符等。

    generate-password:用于生成加密安全密码的NodeJS库

    $ npm install generate-password --save 用法 generate([options]) 使用给定的选项生成一个密码。 返回一个字符串。 var generator = require ( 'generate-password' ) ; var password = generator . generate ( ...

    generatepassword

    在"generatepassword-main"这个文件夹中,可能包含以下文件和目录: - `index.html`:网页的HTML结构,用于展示界面元素。 - `style.css`:CSS样式文件,定义页面的布局和视觉效果。 - `script.js`:JavaScript源...

    Advanced.RAR.Password.Recovery.v.1.11

    (or length range), the character set to be used to generate the passwords, and a couple of other options - You can select the custom character set for brute-force attack (non-English characters are...

    generate-memorable-password:随机记忆密码生成器

    const generateMemorablePassword = require('generate-memorable-password'); generateMemorablePassword(); // granite-extensible-nugget-6769 generateMemorablePassword(); // concerned-sleek-towels-5333 ...

    pass-gen:密码生成器,允许用户从四个可用字符集中选择以生成密码,并将其复制到剪贴板

    描述 ... ... resetPass userSelectType addChoices writePassword generatePassword ... 在generatePassword中,for循环与math.random一起使用,以从新阵列中随机选择已确认的字符,然后通过writePas

    Generate-Unique-Password:密码生成器

    对于这个项目,我一直在努力寻找其布局。 一开始,我对如何构建它感到困惑。 我从github上看到了很多设计,然后决定混合搭配。 *我面临的挑战 ...Windows警报方法在chrome上无法正常运行,因此不得不寻找其他方法-当我...

    mybatis generate自动生成demo

    在本“mybatis generate自动生成demo”中,我们将探讨如何基于MySQL数据库使用MBG进行代码生成。 首先,MBG的核心在于它的配置文件,通常命名为`generatorConfig.xml`。这个文件定义了数据库连接信息、需要生成代码...

    javascript生成随机密码案例

    function generatePassword(length) { var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()'; var password = ''; for (var i = 0; i ; i++) { password += chars.charAt...

    Advanced.Zip.Password.Recovery.v3.54

    - The program is customizable: you can set the password length (or length range), the character set to be used to generate the passwords, and a couple of other options - You can select the custom ...

    strict-password-generator:生成具有特定要求的随机密码

    严格密码生成器生成具有严格要求的随机密码安装$ npm install strict-password-generator --save用法const ...选项将选项对象传递给passwordGenerator.generatePassword() 可能的特殊字符:['!','@','#','$

    mvn mybatis-generator:generate配置文件

    在Maven中,你可以在pom.xml中添加`mybatis-generator-maven-plugin`,然后运行`mvn mybatis-generator:generate`命令。 7. **版本兼容性**: 确保MBG版本与MyBatis和数据库驱动版本兼容,避免出现不兼容的问题。 ...

    IDE mybatis自动生成配置和类信息(generateConfig)

    本主题将深入探讨如何在IDEA中实现MyBatis的自动代码生成(generateConfig),并介绍所需的相关工具和步骤。 一、MyBatis简介 MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。与传统的...

    MybatisGenerate

    MybatisGenerate是一个强大的Mybatis代码生成工具,它极大地简化了开发者在使用Mybatis框架时的手动编码工作。MybatisGenerator可以自动生成Model类、Mapper接口和XML配置文件,从而节省了大量时间,提高了开发效率...

    challenge3-password

    //将密码写入#password输入函数writePassword(){var password = generatePassword(); var passwordText = document.querySelector(“#password”); passwordText.value =密码; } //添加事件监听器以生成...

    Python库 | ch_password_generator-0.8.1.dev1-py3-none-any.whl

    password = generate_password(length, use_numbers, use_letters, use_special_chars, allow_duplicates) print(password) ``` `ch_password_generator`库可能还提供了其他高级功能,如自定义字符集、生成符合特定...

    Password-save-generate

    密码库使用添加按钮保存您的用户名/电子邮件,密码和网站。... 使用generate还将密码复制到剪贴板。 搜索按钮也是如此。 这最初是由安琪拉·于(Angela Yu)在她的100天:完整的python训练营课程中完成的

    generate password-crx插件

    生成password.strong密码。 强密码是保护您的个人信息和资产在线的关键您的新密码:记住您的密码:记住您在本句中每个单词的第一个字符的密码。 为防止您的密码被社会工程,蛮力或字典攻击方法被攻击,并保留您的...

Global site tag (gtag.js) - Google Analytics