Java工程中引用Base64编码解码小记
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。
Base64编码说明
Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='。
1)Base64编码解码包下载:http://commons.apache.org/proper/commons-codec/
下载commons-codec-1.9.jar里面有base64类org.apache.commons.codec.binary.Base64;基础代码如下:
/** * 解密 */ public static String decodeStr(String pwd) { Base64 base64 = new Base64(); byte[] debytes = base64.decodeBase64(new String(pwd).getBytes()); return new String(debytes); } /** * 加密 */ public static String encodeStr(String pwd) { Base64 base64 = new Base64(); byte[] enbytes = base64.encodeBase64Chunked(pwd.getBytes()); return new String(enbytes); }
2)如果用JRE默认的sun.misc.BASE64Decoder和sun.misc.BASE64Encoder,没有识别出包,则先移除工程的JRE包再重新加上,然后clean工程即可。 基础代码如下:
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;public static void main(String[] args) throws Exception {String str = "java12345";String ret = null;ret = new BASE64Encoder().encode(str.getBytes());System.out.println("加密前:"+str+" 加密后:"+ret);str = "amF2YTEyMzQ1";try {ret = new String(new BASE64Decoder().decodeBuffer(str));} catch (IOException e) {e.printStackTrace();}System.out.println("解密前:"+str+" 解密后:"+ret);
}
3)用it.sauronsoftware.base64包,可到http://www.sauronsoftware.it/projects/javabase64/manual.php下载,基础代码如下:
byte[] source = ...; // load your data here
byte[] encoded = Base64.encode(source);
byte[] decoded = Base64.decode(encoded);
Java工程中引用Base64编码解码小记相关推荐
- Java 8中的Base64编码和解码
转自:https://juejin.im/post/5c99b2976fb9a070e76376cc Java 8会因为将lambdas,流,新的日期/时间模型和Nashorn JavaScript引 ...
- web浏览器中的base64编码解码
Base64介绍 Base64是一种基于64个可打印字符来表示二进制数据的表示方法.由于2^6=64,所以每6个位元为一个单元,对应某个可打印字符.3个字节有24个位元,对应于4个Base64单元,及 ...
- 微信小程序中使用Base64编码解码
创建js-base64.js文件 (function(global) {'use strict';var global = global || {};var _Base64 = global.Base ...
- linux解码base64工具,如何解码Linux中的base64编码行?(How do I decode base64 encoded lines in linux?)...
如何解码Linux中的base64编码行?(How do I decode base64 encoded lines in linux?) 我正在尝试读取文件并仅提取base64编码部分. 我通过使用 ...
- Java Base64 编码解码方案总结
转载自 Java Base64 编码解码方案总结 Base64是一种能将任意Binary资料用64种字元组合成字串的方法,而这个Binary资料和字串资料彼此之间是可以互相转换的,十分方便.在实际应 ...
- Base64编码/解码VB6超精简版(适用于中、英文)
上次因为要编写自动登录邮箱的程序,需要Base64编码,但是我看了几种版本的VB下Base64编码的程序,发现要么就是太冗长,要么就是不支持中文,要么根本不能用,于是我想求人不如求己,便仔细研究了一下 ...
- java svgbase64转byte_java 图片进行base64 编码解码
java 图片进行base64 编码解码 刘振兴 代码分享 2017年06月07日 10555 2条评论 import sun.misc.BASE64Decoder; import sun.misc. ...
- Javascript中Base64编码解码的使用实例
Javascript为我们提供了一个简单的方法来实现字符串的Base64编码和解码,分别是window.btoa()函数和window.atob()函数. 1 var encodedStr = win ...
- linux中常用的加密总结--base64编码解码与openssl实现
linux中常用的加密总结–base64编码解码与openssl实现 一.base64 !!!base64是一种数据编码方式,可逆,不是严格意义上的加密算法,不能作为安全加密使用 -d,–decode ...
最新文章
- R语言在直方图条(柱形)上添加计数(count)或者百分比(percent)标签
- 从源码分析DEARGUI之add_tree_node
- 5G 承载网 — 三大运营商承载网技术的演进方向
- 正确的线程中止-标志位
- 集群镜像:实现高效的分布式应用交付
- 宁波镇海区无犯罪记录办理流程
- Hadoop环境 IDE配置(在eclipse中安装hadoop-eclipse-plugin-2.7.3.jar插件)
- pytorch 图像增强
- andorid关于selector更换图片失效
- 牛客网NOIP赛前集训营 第6场 T1 最长路
- 深入JavaScript之获取cookie以及删除cookie
- 西门子dcs系统组态手册下载_PLC/DCS/HMI 知识普及
- wordpress英文主题怎样汉化成中文网站模板
- 高效能人士的7个习惯
- BFT类共识协议概览与分析实测
- php 二维数组变一维数组,php中怎么将二维数组转为一维数组
- Python 实现局域网视频聊天工具
- php后端经历,后端学习路线,仅供参考,个人总结
- linux交互式进程初始化失败怎么办,电脑进入安全方式仍然显示交互式登录进程初始化失败...
- Neural Ordinary Differential Equations(NIPS2018)
热门文章
- 阐述计算机历程以及未来发展方向,计算机程序的发展史
- linux重新编译mysql_linux下编译安装mysql++ | 学步园
- java怎样循环写数组按钮_java – 将按钮变量声明为带有for循环android的数组
- c语言调用python变量_Python变量
- Windows Server 2008服务器管理新技巧6则第4/4页
- 对NUnitAddIn做了下修改
- [BZOJ 2839] 集合计数
- zoj3988 二分图匹配
- 【机器学习】异常检测算法(I)
- 不要去追一匹马,用追马的时间种草