用来生成简单的随机java生成随机数,大小+数字。没特符
复制代码代码如下:
contraseñas de paquetes;
importar java.util.Random;
clase pública pwdGen {
privado Aleatorio rdseed=new Aleatorio();
/**
*@param
*longitud longitud de la contraseña;
*@param
*control de combinación de letras booleanas que no son mayúsculas;
*@param
*letters_capiboolean control de combinación de letras mayúsculas;
*@param
*control de combinación de letras mayúsculas booleanas;
*/
cadena pública getpwd (longitud int, letras booleanas, letras booleanas_capi, números booleanos) {
Cadena res="";
Aleatorio rd=this.rdseed;
mientras(longitud-->0){
char _1dgt=0;
if(letras&&letras_capi&&números){
int _key=rd.nextInt(3);
si(2==_clave){
_1dgt=get_L();
}si no (1==_clave){
_1dgt=get_L_C();
}si no (0==_clave){
_1dgt=get_N();
}
}si no(letras&&letras_capi&&!números){
int _key=rd.nextInt(2);
si(1==_clave){
_1dgt=get_L();
}si no (0==_clave){
_1dgt=get_L_C();
}
}si no(!letras&&letras_capi&&números){
int _key=rd.nextInt(2);
si(1==_clave){
_1dgt=get_N();
}si no (0==_clave){
_1dgt=get_L_C();
}
}si no(letras&&!letras_capi&&números){
int _key=rd.nextInt(2);
si(1==_clave){
_1dgt=get_L();
}si no (0==_clave){
_1dgt=get_N();
}
}si no(letras&&!letras_capi&&!números){
_1dgt=get_L();
}si no(!letras&&!letras_capi&&números){
_1dgt=get_N();
}else if(!letras&&letras_capi&&!números){
_1dgt=get_L_C();
}demás{
res=nulo;
romper;
}
res+=_1dgt;
}
devolver resolución;
}
carácter privado get_L_C(){
Aleatorio rd=this.rdseed;
int _dgt=(rd.nextInt(26)+65);
return (char)_dgt;
}
carácter privado get_N(){
Aleatorio rd=this.rdseed;
int _dgt=(rd.nextInt(10)+48);
return (char)_dgt;
}
carácter privado get_L(){
Aleatorio rd=this.rdseed;
int _dgt=(rd.nextInt(26)+97);
return (char)_dgt;
}
carácter privado get_S(){
Aleatorio rd=this.rdseed;
int _dgt=(rd.nextInt(14)+33);
return (char)_dgt;
}
público estático vacío principal (String [] argumentos) {
prueba pwdGen= nueva pwdGen();
int testct=1000000;
inicio largo=System.nanoTime();
mientras(testct-->0){
test.getpwd(10, verdadero, verdadero, verdadero);
}
extremo largo= System.nanoTime();
System.out.println(((doble)(fin-inicio))/(1000000000));
System.out.println(test.getpwd(10, verdadero, verdadero, verdadero));
}
}