平文の暗号化エクスポージャーは、フロントデスクを___JS、Javaの背景復号化が実現します

1.フロントJS

1 <= "テキスト/ javascriptの"スクリプトタイプ>  
 2      $(関数(){  
 3          $( "#のBTN")。クリックしてください(関数(){  
 4              VARユーザ名= encode64($( "#ユーザー名")。valを() );   // 对数据加密   
5              のvarパスワード= encode64($( "#パスワード" ).val());  
 6              $( "#ユーザー名" ).val(ユーザー名);  
 7              $( "#パスワード" ).val (パスワード);  
 8              document.fm.submit();  // フォーム名を形成するためのFM   
。9          })  
 10      })  
 11は、       
12であります     // BASE64加密开始   
13      VAR keyStr = "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv"  
 14              + "wxyz0123456789 + /" + "=" 15        
16      関数encode64(入力){  
 17    
18          VaRの出力= "" ;  
19件         のvar CHR1、ChR2は、CHR 3 = "" ;  
20          のvar ENC1、ENC2、ENC3、enc4 = "" ;  
21          VAR iが0 = 22          行う{  
 23              CHR 1 = input.charCodeAt(I ++ )。  
);  
25              CHR3 = input.charCodeAt(I ++ )。  
26              ENC1 = CHR 1 >> 2 27              ENC2 =((CHR 1&3)<< 4)| (ChR2を>> 4 );  
28              ENC3 =((ChR2を&15)<< 2)| (CHR3 >> 6 )。  
29              enc4 = CHR 3&63 30              であれば(ますisNaN(ChR2を)){  
 31                  ENC3 = enc4 = 64 32              } そう であれば(ますisNaN(CHR 3)){  
 33                  enc4 = 64 34              }  
 35             出力=出力+ keyStr.charAt(ENC1)+ keyStr.charAt(ENC2)  
 36                      + keyStr.charAt(ENC3)+ keyStr.charAt(enc4)。  
37              CHR 1 = ChR2を= CHR 3 = "" ;  
38              ENC1 = ENC2 = ENC3 = enc4 = "" ;  
39          } ながら(I < input.length)。  
40    
41          リターン出力。  
42      }  
 43      // BASE64加密结束   
44 </ SCRIPT>

 


2、背景のJavaコード

 5          'R'、 'S'、 'T'、 'U'、V ''、 'W'、 'X'、 'Y'、 'Z'、 '0'、 '1'、 '2'、 ' 3' 6          '4'、 '5'、 '6'、 '7'、 '8'、 '9'、 '+'、 '/' 、}。  
7 8 プライベート静的バイト      
   [] base64DecodeChars = 新しい バイト [] {-1、-1、-1、-1、-1 9          -1、-1、-1、-1、-1、-1、-1、-1、 - 1、-1、-1、-1、-1、-1、-1、-1、-1 10          -1、-1、-1、-1、-1、-1、-1、-1 、-1、-1、-1、-1、-1、-1、-1、-1、-1 11          -1、-1、-1、-1、62、-1、-1、 - 1、63、52、53、54、55、56、57、58、59 12          60、61、-1、-1、-1、-1、-1、-1、-1、0、1、 2、3、4、5、6、7、8、9 13          10、11、12、13、14、15、16、17、18、19、20、21、22、23、24、25、 - 1 14          -1、-1、-1、-1、-1、26、27、28、29、30、31、32、33、34、35、36、37 15         38、39、40、41、42、43、44、45、46、47、48、49、50、51、-1、-1、-1 16          -1、-1 }。  
17    
18  / **  
19  *解密 
 20  * @param STR 
 21  * @return  
22   * /   
23  パブリック 静的 バイト[]デコード(文字列str){  
 24      バイト []データ= str.getBytes()。  
25      INT LEN = data.length。  
26      ByteArrayOutputStream BUF = 新しいByteArrayOutputStream(LEN)。  
27      int型私= 0 ;  
28      INT B1、B2、B3、B4。  
29    
30      ながら(I < LEN){  
 31          行う{  
 32              、B1 = base64DecodeChars [データ[I ++ ]。  
33          } ながら(I <LEN && B1 == -1 )。  
34          であれば(B1 == -1 ){  
 35              ブレーク36          }  
 37    
38が         行う{  
 39              B2 = base64DecodeChars [データ[I ++ ]と、  
40          } ながら(I <LEN && B2 == -1 )。  
41          もし(B2 == -1 ){  
 42              ブレーク43          }  
 44          buf.write((INT)((B1 << 2)|((B2&0x30から)>>> 4 )))。  
45    
46が         行う{  
 47              B3 =データ[I ++ ]。  
48              であれば(B3 == 61 ){  
 49                  リターンbuf.toByteArray()。  
50              }  
 51              B3 = base64DecodeChars [B3]。  
52          } ながら(I <LEN && B3 == -1 )。  
53          であれば(B3 == -1 ){  
54              ブレーク;  
55          }  
 56          buf.write((INT)(((B2&0x0Fの)<< 4)|((B3&0x3cの)>>> 2 )))。  
57    
58が         行う{  
 59              B4 =データ[I ++ ]。  
60              であれば(B4 == 61 ){  
 61                  リターンbuf.toByteArray()。  
62              }  
 63              B4 = base64DecodeChars [B4]。  
64          } ながら(I <LEN && B4 == -1 )。  
65          であれば(B4 == -1 ){  
 66              ブレーク;  
 67          }  
 68          buf.write((INT)(((B3&0×03)<< 6)|。B4));  
 69      }  
 70      リターンbuf.toByteArray();  
 71れる }  
 72  
73であり、 
74のSystem.out.println(新しい新しい文字列(デコード(ユーザ名)));   // デコード()メソッドを使用して復号

 

おすすめ

転載: www.cnblogs.com/651434092qq/p/12014608.html