aplikasi java
复制代码代码如下:
kata sandi paket;
import java.util.Acak;
kelas publik pwdGen {
private Random rdseed=Acak baru();
/**
*@param
*panjang panjang kata sandi;
*@param
*kontrol kombinasi huruf boolean non-kapital;
*@param
*kontrol kombinasi huruf kapital letters_capiboolean;
*@param
*kontrol kombinasi huruf kapital angkaboolean;
*/
public String getpwd(int panjang,huruf boolean,huruf_capi boolean,angka boolean){
String res="";
Acak rd=ini.rdseed;
while(panjang-->0){
karakter _1dgt=0;
if(huruf&&huruf_capi&&angka){
int _key=rd.nextInt(3);
jika(2==_kunci){
_1dgt=dapatkan_L();
}lainnya jika(1==_kunci){
_1dgt=dapatkan_L_C();
}lainnya jika(0==_kunci){
_1dgt=dapatkan_N();
}
}else if(huruf&&letters_capi&&!angka){
int _key=rd.nextInt(2);
jika(1==_kunci){
_1dgt=dapatkan_L();
}lainnya jika(0==_kunci){
_1dgt=dapatkan_L_C();
}
}else if(!huruf&&letters_capi&&angka){
int _key=rd.nextInt(2);
jika(1==_kunci){
_1dgt=dapatkan_N();
}lainnya jika(0==_kunci){
_1dgt=dapatkan_L_C();
}
}else if(huruf&&!letters_capi&&angka){
int _key=rd.nextInt(2);
jika(1==_kunci){
_1dgt=dapatkan_L();
}lainnya jika(0==_kunci){
_1dgt=dapatkan_N();
}
}else if(huruf&&!letters_capi&&!angka){
_1dgt=dapatkan_L();
}else if(!huruf&&!letters_capi&&angka){
_1dgt=dapatkan_N();
}else if(!huruf&&letters_capi&&!angka){
_1dgt=dapatkan_L_C();
}kalau tidak{
res=batal;
merusak;
}
res+=_1dgt;
}
kembalikan resolusi;
}
karakter pribadi get_L_C(){
Acak rd=ini.rdseed;
int _dgt=(rd.nextInt(26)+65);
kembali (char)_dgt;
}
karakter pribadi get_N(){
Acak rd=ini.rdseed;
int _dgt=(rd.nextInt(10)+48);
kembali (char)_dgt;
}
karakter pribadi get_L(){
Acak rd=ini.rdseed;
int _dgt=(rd.nextInt(26)+97);
kembali (char)_dgt;
}
karakter pribadi get_S(){
Acak rd=ini.rdseed;
int _dgt=(rd.nextInt(14)+33);
kembali (char)_dgt;
}
public static void main(String[] args) {
tes pwdGen= pwdGen baru();
int tes=1000000;
mulai panjang=Sistem.nanoTime();
while(tesct-->0){
test.getpwd(10, benar, benar, benar);
}
ujung panjang= Sistem.nanoTime();
System.out.println(((double)(akhir-awal))/(1000000000));
System.out.println(test.getpwd(10, benar, benar, benar));
}
}