第一種方式 直接加解密
import java.util.Base64;
import java.util.Base64.Decoder;
import java.util.Base64.Encoder;
public class Main {
static String src = "xuchuanli123";
public static void main(String[] args) {
// 擷取加密對象
Encoder encoder = Base64.getEncoder();
// 加密
byte[] encode = encoder.encode(src.getBytes());
// 輸出加密結果
System.out.println("encode : " + new String(encode));
// 擷取解密對象
Decoder decoder = Base64.getDecoder();
// 解密
byte[] decode = decoder.decode(encode);
// 輸出解密結果
System.out.println("decode :" + new String(decode));
}
}
第二種方式 加料方式
public class Main {
static String src = "xuchuanli123";
static String mix = "mixed"; //此字元串為加料字元串,混淆加密内容 String new = src.append(mix);
public static void main(String[] args) {
// 擷取加密對象
Encoder encoder = Base64.getEncoder();
// 加密
byte[] encode = encoder.encode(new.getBytes());
// 輸出加密結果
System.out.println("encode : " + new String(encode));
// 擷取解密對象
Decoder decoder = Base64.getDecoder();
// 解密
byte[] decode = decoder.decode(encode);解密結果
String result = new String(decode);
String finalresult = result.replace("mix","");
System.out.println("decode :" + finalresult);
}
}
目前加密的應用如下
和多下載下傳
以“迅雷下載下傳”為例:很多下載下傳類網站都提供“迅雷下載下傳”的連結,其位址通常是加密的迅雷專用下載下傳位址。
其實迅雷的“專用位址”也是用Base64"加密"的,其過程如下:
一、在位址的前後分别添加AA和ZZ
二、對新的字元串進行Base64編碼
另外 Flashget的與迅雷類似,隻不過在第一步時加的“料”不同罷了,Flashget在位址前後加的“料”是[FLASHGET]
而QQ旋風的幹脆不加料,直接就對位址進行Base64編碼了