在实际应用中,大家使用的密码可以说多种多样,但是无论有多少,其组成不遑是有可打印字符组成的,我们可以认为
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
class createdic{ private int bitnum; private string str; public void setbitnum( int num) { bitnum=num; } public void setstr(string str) { str=str; } public int getbitnum(){ return bitnum; } public string getstr(){ return str; } public list<string> getdic(){ int [] tmparray= new int [bitnum]; list<string> final_list= new arraylist<string>(); string result= "" ; for ( int i= 0 ;i<bitnum;i++) tmparray[i]= 0 ; int ncount= 0 ; while ( true ) { result= "" ; for ( int i= 0 ;i<bitnum;i++) { result+=str.charat(tmparray[i]); } ncount++; system.out.println(result); final_list.add(result+ "\r\n" ); //开始进行下一轮循环 int length=str.length(); int mark= 0 ; for ( int j=bitnum- 1 ;j>= 0 ;j--) { if (tmparray[j]==length- 1 ){ if (j!= 0 ){ continue ; } else { mark= 1 ; break ; } } else { tmparray[j]++; for ( int k=j+ 1 ;k<bitnum;k++) { tmparray[k]= 0 ; } break ; } } if (mark== 1 ){ break ; } } system.out.println( "一共输出密码个数:" +ncount); return final_list; } } |
可以这么说如若组成密码的字符一共有3个分别是"abc",而密码长度是6,则bitnum可以设置为6 而str的内容则为“abc”,这样可以获得所有可能组成的密码字符串即为返回值
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/dasgk/article/details/49761857