国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

香港云服务器
服務器之家 - 編程語言 - JAVA教程 - java明文密碼三重加密方法

java明文密碼三重加密方法

2020-05-27 11:06A_book JAVA教程

這篇文章主要介紹了java明文密碼加密,對一個明文密碼進行了三重加密:第一層柵欄一次,第二層在柵欄一次,第三層在一次摩斯加密,感興趣的小伙伴們可以參考一下

本文介紹了兩種密碼加密的方法,這兩種很常見可以再百度隨意找到。

1.摩斯密碼;

說道密碼加密不得不提的方法。很是經典。

首先說一下他的對照表,直接上圖。

java明文密碼三重加密方法

java明文密碼三重加密方法

java明文密碼三重加密方法

java明文密碼三重加密方法

核心思想就是替換明文密碼,將字符對應的替換成-與.兩種符號的組合;

2、柵欄密碼;

所謂柵欄密碼,就是把要加密的明文分成N個一組,然后把每組的第1個字連起來,形成一段無規律的話。 不過柵欄密碼本身有一個潛規則,就是組成柵欄的字母一般不會太多。(一般不超過30個,也就是一、兩句話)

這個沒有什么好說的了,舉個栗子:對明文ASDFGHJKL進行加密;分成兩組:基數位置一組,偶數位置一組。然后兩組合并成ADGJLSFHK;

我對這兩種加密方式進行了結合,對一個明文密碼進行了三重加密:第一層柵欄一次,第二層再柵欄一次,第三層再一次摩斯加密;
先是柵欄部分:

?
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
/*柵欄解密解密類*/
public class Fence {
  /*加密部分*/
  public String encryption (String password){
    String p = new String();
    String p1 = new String();
    String p2 = new String();
    for  (int i = 0; i < password.length(); i++){
      if(i%2 == 0)
        p1 += p.valueOf(password.charAt(i));
      else
        p2 += p.valueOf(password.charAt(i));
    }
    return p1+p2;
  }
  /*解密部分*/
  public String decode(String FencePassword){
    String password = new String();
    String p = new String();
    String p1 = FencePassword.substring(0, FencePassword.length()/2);
    String p2 = FencePassword.substring(FencePassword.length()/2);
    int i;
    for  (i = 0; i < p1.length(); i++){
      password += p.valueOf(p1.charAt(i)) + p.valueOf(p2.charAt(i));
    }
    if(FencePassword.length()%2 != 0)
      password += p.valueOf(p2.charAt(i));
    return password;
  }
}

然后是摩斯部分
這一部分比較繁瑣,在于摩斯密碼與符號之間的匹配問題上,想著用一個數組去存儲,然后循環進行匹配;但是我是一個不怕麻煩只求簡單的一個人,就進行了一個個的比較;
 然后在摩斯加密解密的時候進行了兩次的柵欄加密解密;這樣用到加密解密的時候只要調用摩斯類的加密解密函數即可。

?
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
/*摩斯加密解密類*/
import java.util.StringTokenizer;
 
public class Morse {
  /*摩斯密碼與字符之間的匹配常量*/
  final String A = ".-";
  final String B = "---.";
  final String C = "-.-.";
  final String D = "-..";
  final String E = ".";
  final String F = "..-.";
  final String G = "--.";
  final String H = "....";
  final String I = "..";
  final String J = ".---";
  final String K = "-.-";
  final String L = ".-..";
  final String M = "--";
  final String N = "-.";
  final String O = "---";
  final String P = ".--.";
  final String Q = "--.-";
  final String R = ".-.";
  final String S = "...";
  final String T = "-";
  final String U = "..-";
  final String V = "...-";
  final String W = ".--";
  final String X = "-..-";
  final String Y = "-.--";
  final String Z = "--..";
  final String $0 = "-----";
  final String $1 = ".----";
  final String $2 = "..---";
  final String $3 = "...--";
  final String $4 = "....-";
  final String $5 = ".....";
  final String $6 = "-....";
  final String $7 = "--...";
  final String $8 = "---..";
  final String $9 = "----.";
  final String period = ".-.-.-"; // .
  final String colon = "---..."; // :
  final String comma = "--..--"; // ,
  final String semicolon = "-.-.-."; // ;
  final String question = "..--.."; // ?
  final String equal = "-...-"; // =
  final String doubleQuotation = ".-..-.";// "
  final String singleQuotation = ".----.";// '
  final String slash = "-..-."; ///
  final String exclamation = "-.-.--"; // !
  final String hyphen = "-....-"; // -
  final String underscore = "..--.-"; // _
  final String lroundBrackets = "-.--."; // (
  final String rroundBrackets = "-.--.-"; // )
  final String $ = "...-..-"; // $
  final String ampersand = ".-..."; // &
  final String at = ".--.-."; // @
  final String plus = ".-.-."; // +
  /*加密對應的匹配*/
  public String matching(String str) {
    switch (str) {
    case "A":
      return A;
    case "B":
      return B;
    case "C":
      return C;
    case "D":
      return D;
    case "E":
      return E;
    case "F":
      return F;
    case "G":
      return G;
    case "H":
      return H;
    case "I":
      return I;
    case "J":
      return J;
    case "K":
      return K;
    case "L":
      return L;
    case "M":
      return M;
    case "N":
      return N;
    case "O":
      return O;
    case "P":
      return P;
    case "Q":
      return Q;
    case "R":
      return R;
    case "S":
      return S;
    case "T":
      return T;
    case "U":
      return U;
    case "V":
      return V;
    case "W":
      return W;
    case "X":
      return X;
    case "Y":
      return Y;
    case "Z":
      return Z;
    case "0":
      return $0;
    case "1":
      return $1;
    case "2":
      return $2;
    case "3":
      return $3;
    case "4":
      return $4;
    case "5":
      return $5;
    case "6":
      return $6;
    case "7":
      return $7;
    case "8":
      return $8;
    case "9":
      return $9;
    case ".":
      return period;
    case ":":
      return colon;
    case ",":
      return comma;
    case ";":
      return semicolon;
    case "?":
      return question;
    case "=":
      return equal;
    case "\"":
      return doubleQuotation;
    case "\'":
      return singleQuotation;
    case "/":
      return slash;
    case "!":
      return exclamation;
    case "-":
      return hyphen;
    case "_":
      return underscore;
    case "(":
      return lroundBrackets;
    case ")":
      return rroundBrackets;
    case "$":
      return $;
    case "&":
      return ampersand;
    case "@":
      return at;
    case "+":
      return plus;
    }
    return " ";
  }
  /*摩斯加密*/
  public String encryption(String password) {
    Fence f = new Fence();
    password = f.encryption(password);
    password = f.encryption(password);
    String MorsePasswork = new String();
    String mp = new String();
    for (int i = 0; i < password.length(); i++) {
      mp = mp.valueOf(password.charAt(i));
      MorsePasswork += matching(mp) + "/";
    }
    return MorsePasswork;
  }
  /*解密對應換的匹配*/
  public String matching2(String str) {
    if (str.equals(A))
      return "A";
    else if (str.equals(B))
      return "B";
    else if (str.equals(C))
      return "C";
    else if (str.equals(D))
      return "D";
    else if (str.equals(E))
      return "E";
    else if (str.equals(F))
      return "F";
    else if (str.equals(G))
      return "G";
    else if (str.equals(H))
      return "H";
    else if (str.equals(I))
      return "I";
    else if (str.equals(J))
      return "J";
    else if (str.equals(K))
      return "K";
    else if (str.equals(L))
      return "L";
    else if (str.equals(M))
      return "M";
    else if (str.equals(N))
      return "N";
    else if (str.equals(O))
      return "O";
    else if (str.equals(P))
      return "P";
    else if (str.equals(Q))
      return "Q";
    else if (str.equals(R))
      return "R";
    else if (str.equals(S))
      return "S";
    else if (str.equals(T))
      return "T";
    else if (str.equals(U))
      return "U";
    else if (str.equals(V))
      return "V";
    else if (str.equals(W))
      return "W";
    else if (str.equals(X))
      return "X";
    else if (str.equals(Y))
      return "Y";
    else if (str.equals(Z))
      return "Z";
    else if (str.equals($0))
      return "0";
    else if (str.equals($1))
      return "1";
    else if (str.equals($2))
      return "2";
    else if (str.equals($3))
      return "3";
    else if (str.equals($4))
      return "4";
    else if (str.equals($5))
      return "5";
    else if (str.equals($6))
      return "6";
    else if (str.equals($7))
      return "7";
    else if (str.equals($8))
      return "8";
    else if (str.equals($9))
      return "9";
    else if (str.equals(period))
      return ".";
    else if (str.equals(colon))
      return ":";
    else if (str.equals(comma))
      return ",";
    else if (str.equals(semicolon))
      return ";";
    else if (str.equals(question))
      return "?";
    else if (str.equals(equal))
      return "=";
    else if (str.equals(doubleQuotation))
      return "\"";
    else if (str.equals(singleQuotation))
      return "\'";
    else if (str.equals(slash))
      return "/";
    else if (str.equals(exclamation))
      return "!";
    else if (str.equals(hyphen))
      return "-";
    else if (str.equals(underscore))
      return "_";
    else if (str.equals(lroundBrackets))
      return "(";
    else if (str.equals(rroundBrackets))
      return ")";
    else if (str.equals($))
      return "$";
    else if (str.equals(ampersand))
      return "&";
    else if (str.equals(at))
      return "@";
    else if (str.equals(plus))
      return "+";
    else
      return " ";
  }
  /*摩斯解密*/
  public String decode(String MorsePassword) {
    String password = new String();
    Fence f = new Fence();
    StringTokenizer p = new StringTokenizer(MorsePassword, "/");
    while (p.hasMoreElements()) {
      password += matching2(p.nextToken());
    }
    password = f.decode(password);
    password = f.decode(password);
    return password;
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
462
主站蜘蛛池模板: 欧美高清视频在线观看 | 亚洲一区二区久久 | 五月天婷婷免费视频 | 国产精品久久久久久久久久久久久 | 日韩一区免费在线观看 | 久久亚洲欧美日韩精品专区 | 国产成人精品久久二区二区 | 91中文在线观看 | 中文字幕,久热精品,视频在线 | 最新中文字幕 | 毛片com| 天天综合7799精品影视 | 日本a v在线播放 | 国产精品毛片久久久久久久 | 自拍偷拍在线视频 | 欧美日韩电影 | 91免费在线视频 | 欧美日韩一区二区在线 | 欧美日韩精品一区二区在线播放 | 亚洲精品久久久久久久久久久 | 黄色美女在线观看 | 国产一区在线不卡 | 婷婷亚洲五月 | 亚洲第一av | 99免费视频 | 亚洲一区视频在线 | 青青草视频在线免费观看 | 国产精品视频一区二区三区不卡 | 自拍偷拍专区 | 日韩国产欧美亚洲 | 国内成人自拍视频 | 国产免费一区二区三区 | 欧美自拍一区 | 国产日产久久高清欧美一区 | 欧美日本一区 | 久久99视频这里只有精品 | 久久久久久久久久一区二区 | 久久亚洲美女 | 成人深夜免费视频 | 国产欧美日韩 | 日韩在线亚洲 |