Base64加密解密

参考
Java8 Base64
BASE64在线加密解密
Android自带Base64加密

import android.util.Base64; String encode2 = new String(Base64.encode("123456".getBytes(), Base64.DEFAULT)); // 结果为"MTIzNDU2\n" // encodeToString内部其实也是调用encode方法,若想直接返回String,推荐用该方法 String encode1 = Base64.encodeToString("123456".getBytes(), Base64.DEFAULT); // 结果为"MTIzNDU2\n"

这里要注意以上方法最终返回的结果都有换行符\n,如果不要换行可以用trim()做以下处理
import android.util.Base64; String encode2 = new String(Base64.encode("123456".getBytes(), Base64.DEFAULT)).trim(); // 结果为"MTIzNDU2" String encode1 = Base64.encodeToString("123456".getBytes(), Base64.DEFAULT).trim(); // 结果为"MTIzNDU2"

Android自带Base64解密
import android.util.Base64; String decode1 = new String(Base64.decode("MTIzNDU2".getBytes(), Base64.DEFAULT)); // 结果为"123456" // 该方式内部其实也是调用上面那个方法,省去了getBytes(),推荐用此方法 String decode2 = new String(Base64.decode("MTIzNDU2", Base64.DEFAULT)); // 结果为"123456"

Java自带Base64加密解密
参考Java8 Base64
以上例子用的是Android自带的android.util.Base64
其实Java也有个java.util.Base64,但是这个类需在Android API 26及以上才可以使用
String encode1 = new String(Base64.getEncoder().encode("123456".getBytes())); // 结果为"MTIzNDU2" String encode2 = Base64.getEncoder().encodeToString("123456".getBytes()); // 结果为"MTIzNDU2"String decode1 = new String(Base64.getDecoder().decode("MTIzNDU2".getBytes())); // 结果为"123456" String decode2 = new String(Base64.getDecoder().decode("MTIzNDU2")); // 结果为"123456"

【Base64加密解密】可以看到编码的结果不像Android自带的末尾还有换行符\n
关于Java的Base64还有以下方法
  • Base64.getUrlEncoder();
  • Base64.getMimeEncoder();
  • Base64.getUrlDecoder();
  • Base64.getMimeDecoder();
这里不再展开,以后另开一篇文章介绍
如果你喜欢我的文章,可以关注我的微信公众号,可以看到我最新发布的文章

Base64加密解密
文章图片
image

    推荐阅读