BASE64 编码是一种常用的字符编码,在很多地方都会用到但base64不是安全领域下的加密解密算法。能起到安全作用的效果很差而且很容易破解,他核心作用应该是传输数据的正确性有些网关或系统只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法而且base64特别适合在http,mime协议下快速传输数据
最后一个,号称Base64编码速度最快的MigBase64而且是10年前的实现,到現在是否能保持这个称号测一测便知道;
上面讲了一共7种实现Base64编码,Jdk里面3种第三方实现4种,一旦有选择则有必要将他们进行一次高低对比,性能测试是最直接的方式
后面代码基本就是各种API实现Base64的代码了就不详细列出。
主要测试手段是生成100M的随机数,分成100byte或者1000byte的块然后将他们分别编码和解码,记录时间如下方法
一切都很明显了,从上面看出sun的表现不是很好,IHarder和MigBase64性能可以接受传说MigBase64性能第一,那也是过去了在这次测试结果中,新的java8 base64运行速度最好javaXml表现次之。