博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Base64加密解密
阅读量:5786 次
发布时间:2019-06-18

本文共 1572 字,大约阅读时间需要 5 分钟。

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加密解密

参考

以上例子用的是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"复制代码

可以看到编码的结果不像Android自带的末尾还有换行符\n

关于Java的Base64还有以下方法

  • Base64.getUrlEncoder();
  • Base64.getMimeEncoder();
  • Base64.getUrlDecoder();
  • Base64.getMimeDecoder();

这里不再展开,以后另开一篇文章介绍

如果你喜欢我的文章,可以关注我的微信公众号,可以看到我最新发布的文章

转载地址:http://jfxyx.baihongyu.com/

你可能感兴趣的文章
linux下的 lib文件的学习思考
查看>>
微软MCITP系列课程(十)WSUS服务器搭建
查看>>
华为HCC2014的变与不变
查看>>
Outlook替代Hotmail:社交很重要,但邮箱是根本
查看>>
大卫谈学习
查看>>
层次化防御保证企业门户网站安全
查看>>
体验VMware View HTML Access
查看>>
让VMware ESXi 5.5与Windows时间服务器同步
查看>>
简单易用的IT运维服务器管理程序分享!
查看>>
使用可重启AD DS 整理活动目录数据库
查看>>
《统一沟通-微软-实战》-6-部署-1-前端服务器-3-拓扑设计
查看>>
C#设计模式(7)——适配器模式(Adapter Pattern)
查看>>
Hello World
查看>>
彻底搞清楚javascript中的require、import和export
查看>>
几款硬盘接口的速度测试
查看>>
新书《Ext JS 4.2 实战》终于出炉了
查看>>
记录一次奇葩的sleep(15)引起的Too many connections
查看>>
桌面虚拟化之PCoIP访问协议硬卡介绍
查看>>
Full-Mesh 帧中继
查看>>
配置普通,长得丑,OPPO R11凸显OPPO创新乏力
查看>>