用来生成简单的随机java生成随机数,ตัวใหญ่+数字。没特符
复制代码代码如下:
รหัสผ่านแพ็คเกจ
นำเข้า java.util.สุ่ม;
pwdGen คลาสสาธารณะ {
ส่วนตัวสุ่ม rdseed = สุ่มใหม่ ();
-
*@พาราม
*ความยาวความยาวของรหัสผ่าน;
*@พาราม
*lettersboolean การควบคุมการรวมตัวอักษรที่ไม่ใช่ตัวพิมพ์ใหญ่;
*@พาราม
*letters_capiboolean การควบคุมการรวมตัวพิมพ์ใหญ่;
*@พาราม
*การควบคุมการรวมตัวพิมพ์ใหญ่ตัวเลขบูลีน;
-
สตริงสาธารณะ getpwd (ความยาว int, ตัวอักษรบูลีน, ตัวอักษรบูลีน_capi, ตัวเลขบูลีน) {
สตริงความละเอียด = "";
สุ่ม rd=this.rdseed;
ในขณะที่ (ความยาว -> 0) {
ถ่าน _1dgt=0;
ถ้า(ตัวอักษร&&letters_capi&&numbers){
int _key=rd.nextInt(3);
ถ้า(2==_คีย์){
_1dgt=get_L();
} อื่นถ้า (1==_ คีย์) {
_1dgt=get_L_C();
} อื่นถ้า (0==_ คีย์) {
_1dgt=get_N();
-
}else if(letters&&letters_capi&&!numbers){
int _key=rd.nextInt(2);
ถ้า(1==_คีย์){
_1dgt=get_L();
} อื่นถ้า (0==_ คีย์) {
_1dgt=get_L_C();
-
}else if(!letters&&letters_capi&&numbers){
int _key=rd.nextInt(2);
ถ้า(1==_คีย์){
_1dgt=get_N();
} อื่นถ้า (0==_ คีย์) {
_1dgt=get_L_C();
-
}else if(letters&&!letters_capi&&numbers){
int _key=rd.nextInt(2);
ถ้า(1==_คีย์){
_1dgt=get_L();
} อื่นถ้า (0==_ คีย์) {
_1dgt=get_N();
-
}else if(letters&&!letters_capi&&!numbers){
_1dgt=get_L();
}else if(!letters&&!letters_capi&&numbers){
_1dgt=get_N();
}else if(!letters&&letters_capi&&!numbers){
_1dgt=get_L_C();
}อื่น{
ละเอียด=null;
หยุดพัก;
-
ความละเอียด+=_1dgt;
-
ส่งคืนความละเอียด ;
-
ถ่านส่วนตัว get_L_C(){
สุ่ม rd=this.rdseed;
int _dgt=(rd.nextInt(26)+65);
กลับ (ถ่าน)_dgt;
-
ถ่านส่วนตัว get_N(){
สุ่ม rd=this.rdseed;
int _dgt=(rd.nextInt(10)+48);
กลับ (ถ่าน)_dgt;
-
ถ่านส่วนตัว get_L(){
สุ่ม rd=this.rdseed;
int _dgt=(rd.nextInt(26)+97);
กลับ (ถ่าน)_dgt;
-
ถ่านส่วนตัว get_S(){
สุ่ม rd=this.rdseed;
int _dgt=(rd.nextInt(14)+33);
กลับ (ถ่าน)_dgt;
-
โมฆะคงที่สาธารณะ main (String [] args) {
การทดสอบ pwdGen= pwdGen ใหม่ ();
การทดสอบ int=1000000;
เริ่มต้นนาน=System.nanoTime();
ในขณะที่ (ทดสอบ -> 0) {
test.getpwd(10, จริง, จริง, จริง);
-
ปลายยาว= System.nanoTime();
System.out.println(((สองครั้ง)(สิ้นสุด-เริ่มต้น))/(1000000000));
System.out.println(test.getpwd(10, จริง, จริง, จริง));
-
-