第一种方式 直接加解密
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编码了