生成符合复杂性的随机密码

来源:互联网 发布:服装销售英文软件 编辑:程序博客网 时间:2024/05/24 04:39
import java.util.Random;public class RandomPassword { /**  * 生成随机密码  * @param passLength    生成的密码的总长度  * @return 密码的字符串  */ public static String getRandomPass(int passLength){//定义二维数组,确定随机密码的取值范围是0-9;a-z;A-Z;char [][] range=new char[3][2];range[0][0]='0';range[0][1]='9';range[1][0]='a';range[1][1]='z';range[2][0]='A';range[2][1]='Z';//range[3][0]='!';//range[3][1]='/';int rangeLength=range.length;//返回值String password="";//密码生成长度//随机值int randNum=0;for (int i = 0; i < passLength; i++) {Random ran=new Random();//确定符合密码的复杂性要求if(i<rangeLength){randNum=i;}else{//生成一个 0 到 range.length-1 的随机数randNum=Math.abs(ran.nextInt(rangeLength));}password+=randChar(range[randNum][0], range[randNum][1]);}System.out.println("生成的"+passLength+"位密码是:"+password);return password;  } /**  * 生成随机字符或数字  * @param rangeA 指定起始值  * @param rangeB 指定结束值  * @return 返回一个随机字符 范围从0-9 ;a-z;A-Z  */ public static String randChar(char rangeA ,char rangeB){return ""+(char)(rangeA+Math.random()*(rangeB-rangeA+1)); } public static void main(String[] args) { getRandomPass(8);  }}


 

原创粉丝点击