用来生成简单的随机java生成随机数,大小+数字。没特符
复制代码代码如下:
senhas de pacotes;
importar java.util.Random;
classe pública pwdGen {
privado Aleatório rdseed=new Aleatório();
/**
*@param
*comprimentocomprimento da senha;
*@param
* controle de combinação de letras booleanas sem letras maiúsculas;
*@param
*letters_capiboolean controle de combinação de letras maiúsculas;
*@param
*números booleanos controle de combinação de letras maiúsculas;
*/
public String getpwd(comprimento interno, letras booleanas, letras booleanas_capi, números booleanos){
String res="";
Rd aleatório = this.rdseed;
enquanto(comprimento-->0){
char _1dgt=0;
if(letras&&letras_capi&&números){
int _key=rd.nextInt(3);
if(2==_chave){
_1dgt=get_L();
}else if(1==_key){
_1dgt=get_L_C();
}else if(0==_key){
_1dgt=get_N();
}
}else if(letras&&letras_capi&&!números){
int _key=rd.nextInt(2);
if(1==_chave){
_1dgt=get_L();
}else if(0==_key){
_1dgt=get_L_C();
}
}else if(!letras&&letras_capi&&números){
int _key=rd.nextInt(2);
if(1==_chave){
_1dgt=get_N();
}else if(0==_key){
_1dgt=get_L_C();
}
}else if(letras&&!letras_capi&&números){
int _key=rd.nextInt(2);
if(1==_chave){
_1dgt=get_L();
}else if(0==_key){
_1dgt=get_N();
}
}else if(letras&&!letras_capi&&!números){
_1dgt=get_L();
}else if(!letras&&!letras_capi&&números){
_1dgt=get_N();
}else if(!letras&&letras_capi&&!números){
_1dgt=get_L_C();
}outro{
res=nulo;
quebrar;
}
res+=_1dgt;
}
retornar res;
}
caractere privado get_L_C(){
Rd aleatório = this.rdseed;
int _dgt=(rd.nextInt(26)+65);
retornar (char)_dgt;
}
caractere privado get_N(){
Rd aleatório = this.rdseed;
int _dgt=(rd.nextInt(10)+48);
retornar (char)_dgt;
}
caractere privado get_L(){
Rd aleatório = this.rdseed;
int _dgt=(rd.nextInt(26)+97);
retornar (char)_dgt;
}
caractere privado get_S(){
Rd aleatório = this.rdseed;
int _dgt=(rd.nextInt(14)+33);
retornar (char)_dgt;
}
public static void main(String[] args) {
teste pwdGen= novo pwdGen();
int testect=1000000;
início longo=System.nanoTime();
while(testect-->0){
test.getpwd(10, verdadeiro, verdadeiro, verdadeiro);
}
final longo= System.nanoTime();
System.out.println(((duplo)(fim-início))/(1000000000));
System.out.println(test.getpwd(10, verdadeiro, verdadeiro, verdadeiro));
}
}