天天看點

Base64加解密的兩種實作方式

第一種方式  直接加解密

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編碼了