java-base64
1.encode
public static String encode(byte[] bValue, String encode) {
ByteArrayOutputStream o = new ByteArrayOutputStream();
byte d[] = new byte[];
try {
int count = ;
for(byte x[] = bValue; count < x.length;) {
byte c = x[count];
count++;
d[] = (byte) ((c & 0xfc) >> );
d[] = (byte) ((c & ) << );
if(count < x.length) {
c = x[count];
count++;
d[] = (byte) (d[] + (byte) ((c & 0xf0) >> ));
d[] = (byte) ((c & 0xf) << );
if(count < x.length) {
c = x[count];
count++;
d[] = (byte) (d[] + ((c & 0xc0) >> ));
d[] = (byte) (c & 0x3f);
}
else {
d[] = ;
}
}
else {
d[] = ;
d[] = ;
}
int n = ;
while(n <= ) {
o.write(strTableBase64.charAt(d[n]));
n++;
}
}
}
catch(StringIndexOutOfBoundsException e) {
logger.error(e.toString());
}
String temp = null;
if(o != null){
try {
temp = new String(o.toByteArray(), encode);
} catch (UnsupportedEncodingException e1) {
logger.error(e1.toString(), e1);
}
try {
o.close();
} catch (IOException e) {
o = null;
}
}
return temp;
}
2.decode
public static byte[] decode(String strValue, String encode) {
ByteArrayOutputStream o = new ByteArrayOutputStream();
byte d[] = new byte[];
try{
int count = ;
byte x[] = null;
try {
x = strValue.getBytes(encode);
} catch (UnsupportedEncodingException e) {
logger.error(e.toString(), e);
}
do {
if(count >= x.length) {
break;
}
for(int n = ; n <= ; n++){
if(count >= x.length) {
d[n] = ;
}
else {
int y = strTableBase64.indexOf(x[count]);
if(y < ) {
y = ;
}
d[n] = (byte) y;
}
count++;
}
o.write((byte) (((d[] & 0x3f) << ) + ((d[] & 0x30) >> )));
if(d[] != ) {
o.write((byte) (((d[] & 0xf) << ) + ((d[] & 0x3c) >> )));
if(d[] != ) {
o.write( (byte) ( ((d[] & ) << ) + (d[] & 0x3f)));
}
}
} while(true);
}
catch(StringIndexOutOfBoundsException e) {
logger.error(e.toString());
}
if(o != null){
d = o.toByteArray();
try {
o.close();
o = null;
} catch (IOException e) {
logger.error(e.toString(), e);
}
}
return d;
}
java-base64的更多相关文章
- android Java BASE64编码和解码二:图片的编码和解码
1.准备工作 (1)在项目中集成 Base64 代码,集成方法见第一篇博文:android Java BASE64编码和解码一:基础 (2)添加 ImgHelper 工具类 package com.a ...
- Java Base64加密、解密原理Java代码
Java Base64加密.解密原理Java代码 转自:http://blog.csdn.net/songylwq/article/details/7578905 Base64是什么: Base64是 ...
- java base64编码、解码的三种方式
java base64编码.解码 CreationTime--2018年7月24日10点38分 Author:Marydon 1.方式一:DatatypeConverter 说明:使用jdk自带的 ...
- c# 与java base64 不一致解决方案
不一致的问题不是编码的问题 而是json字符串的问题通常我们会json 嵌套 我们先来看连个字符串 {"contentType":"","http ...
- Java Base64、HMAC、SHA1、MD5、AES DES 3DES加密算法
● BASE64 严格地说,属于编码格式,而非加密算法 ● MD5(Message Digest algorithm 5,信息摘要算法) ● SHA(Secure Hash Algo ...
- java base64加解密
接上篇java Base64算法. 根据之前过程使用base64加解密,所以写成了工具类. 代码示例; public class Base64Util { private static Logger ...
- Kotlin/Java Base64编码和解码(图片、文件)
原文: Kotlin/Java Base64编码和解码(图片.文件) | Stars-One的杂货小窝 最近在项目中使用到了Base64编码和解码,便是稍微写篇文章记录一下 PS:本文代码都是使用Ko ...
- ajax java base64 图片储存
js代码 //利用formdata上传 var dataUrl = $('#canvas').getDataUrl(); var img = $('<img>').attr('src', ...
- java Base64算法的使用
Base64是常见的网络加密算法,Base64编码可用于在HTTP环境下传递较长的标识信息.详见 Base64介绍 1 自定义的base64算法 Base64Encrypt.java public c ...
- android Java BASE64编码和解码一:基础
今天在做Android项目的时候遇到一个问题,需求是向服务器上传一张图片,要求把图片转化成图片流放在 json字符串里传输. 类似这样的: {"name":"jike&q ...
随机推荐
- PHP去除空白字符
例子1: <?php $var = " This is a beautiful day!"; // 删除字符串中的所有空白字符(不包括全角空格) $var1 = preg_r ...
- 安装ucenter 步骤详解及supesite 安装详解
最近弄一个 php 的cms ,花了周六日时间研究了一下,这里记录一下,首先在网页上下载ucenter(分为 gbk 或者utf8版本) 首先下载ucenter 之后,解压之后,upload 里的 ...
- stl中的空间配置器
一般我们习惯的c++内存配置如下 class Foo { ... }; Foo* pf = new Foo; delete pf; 这里的new实际上分为两部分执行.首先是先用::operator n ...
- scipy安装失败
pip install scipy安装失败 可以从uci网站下载wheel安装包然后执行pip install xx.whl进行安装 http://www.lfd.uci.edu/~gohlke/py ...
- java 吞吐量
jvm中 ,执行用户的代码占 的时间/总时间 ,假如前者是99 分钟,后者一分钟,则吞吐量为99% ,吞吐量越大.系统越好,如何设计系统,导致系统吞吐量高,因为我们知道,垃圾回收,7种垃圾收集器,也不 ...
- 如何看懂Code128条形码
条形码就是我们看到的商品上有的那些竖条条. 要不是项目上用到这个或许我一辈子也不会对那个感兴趣. 条形码其实是分成很多类的,虽然他们看起来都差不多…… 常见的条形码的码制被称为39码.128码.417 ...
- opencv2对读书笔记——使用均值漂移算法查找物体
一些小概念 1.反投影直方图的结果是一个概率映射,体现了已知图像内容出如今图像中特定位置的概率. 2.概率映射能够找到最初的位置,从最初的位置開始而且迭代移动,便能够找到精确的位置,这就是均值漂移算法 ...
- android AppWidgwtProvider学习
实现AppWidgwtProvider: onUpdate() //在达到制定的更新时间之后或者当用户向桌面添加 App Widget时会调用该方法. onDeleted() //当App Wid ...
- 在 foreach 里使用引用要注意的陷阱(转)
从一道面试题开始 在开始本节内容前,我们先来看看一道还算比较常见的PHP面试题: 1 $arr = array('1','2','3'); 2 3 foreach($arr as &$v) ...
- 安全的PHP代码编写准则(转)
绝不要信任外部数据或输入 关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据.外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据.在采取措施 ...