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();
如果你喜欢我的文章,可以关注我的微信公众号,可以看到我最新发布的文章
文章图片
image
推荐阅读
- Spring集成|Spring集成 Mina
- 构建App(一)(框架与结构)
- Spring源码解析_属性赋值
- 张晧奕(7.8国际黄金,原油丨日内进场操作策略建议,黄金参考策略)
- 虎刺梅
- MySQL|MySQL 5.7参考手册_11.1 数据类型概览
- webpack|webpack 配置参考(production)
- boomer-环境配置
- iOS|iOS 本地推送开发记录二
- 这个5G综合杆工程今后的项目落地提供了参考和新思路