beans64 与 String 之间的自由转换
需要依赖jar: commons-codec.jar
beans64 工具类
package com.znsd.beans64;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.codec.binary.Base64;
/**
* beans64 工具类
*/
public class Base64Util {
/**
* 将文件转换 beans64
* @param imgFile 待处理的数据
* @return beans64数据
*/
public static String filetoBese64(String dir) {
InputStream in = null;
byte[] bytes = null;
try {
in = new FileInputStream(dir);
bytes = new byte[in.available()];
in.read(bytes);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
return new String(Base64.encodeBase64(bytes));
}
/**
* 将 beans64 数据转为 磁盘数据
* @param beans64String
* @param dir
* @throws IOException
*/
public static void bese64ToFile(String beans64String, String dir) throws IOException {
if (beans64String == null) return ;
byte[] bytes = Base64.decodeBase64(beans64String);
for (int i = 0; i < bytes.length; ++i) {
if (bytes[i] < 0) bytes[i] += 256;
}
OutputStream out = new FileOutputStream(dir);
out.write(bytes);
out.flush();
out.close();
}
/**
* 将String 数据转换为 beans64
* @param beans64String 需要转换的 beans64
* @return 处理好的 String
*/
public static String stringTobeans64(String beans64String) {
return new String(Base64.encodeBase64(beans64String.getBytes()));
}
/**
* 将beans64 数据转换为 String
* @param beans64String 需要转换的 beans64
* @return 处理好的 String
*/
public static String beans64ToString(String beans64String) {
String temp = "";
if (beans64String == null) return temp;
byte[] bytes = Base64.decodeBase64(beans64String);
for (int i = 0; i < bytes.length; ++i) {
if (bytes[i] < 0) bytes[i] += 256;
}
return new String(bytes);
}
}
/**
* demo 案例
* @param args
*/
public static void main(String[] args) {
System.out.println(beans64ToString(stringTobeans64("StringData")));
String fileBese64 = filetoBese64("c:/filePath");
bese64ToFile(fileBese64, "toDir");
}
beans64 与 md5 整合: 个人觉得没必要了做加密 DM5 就够了
package com.znsd.beans64;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.apache.commons.codec.binary.Base64;
/**
* 消息摘要工具
*/
public class MessageDigestUtil {
/**
* 先进行MD5摘要再进行Base64编码获取摘要字符串
*
* @param str
* @return
*/
public static String base64AndMD5(String str) {
if (str == null) {
throw new IllegalArgumentException("inStr can not be null");
}
return base64AndMD5(toBytes(str));
}
/**
* 先进行MD5摘要再进行Base64编码获取摘要字符串
*
* @return
*/
public static String base64AndMD5(byte[] bytes) {
if (bytes == null) {
throw new IllegalArgumentException("bytes can not be null");
}
try {
final MessageDigest md = MessageDigest.getInstance("MD5");
md.reset();
md.update(bytes);
final Base64 base64 = new Base64();
final byte[] enbytes = base64.encode(md.digest());
return new String(enbytes);
} catch (final NoSuchAlgorithmException e) {
throw new IllegalArgumentException("unknown algorithm MD5");
}
}
/**
* UTF-8编码转换为ISO-9959-1
*
* @param str
* @return
*/
public static String utf8ToIso88591(String str) {
if (str == null) {
return str;
}
try {
return new String(str.getBytes("UTF-8"), "ISO-8859-1");
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e.getMessage(), e);
}
}
/**
* ISO-9959-1编码转换为UTF-8
*
* @param str
* @return
*/
public static String iso88591ToUtf8(String str) {
if (str == null) {
return str;
}
try {
return new String(str.getBytes("ISO-8859-1"), "UTF-8");
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e.getMessage(), e);
}
}
/**
* String转换为字节数组
*
* @param str
* @return
*/
private static byte[] toBytes(final String str) {
if (str == null) {
return null;
}
return str.getBytes();
}
}
MD5加密 与 SHA1加密
import org.apache.commons.codec.digest.DigestUtils;
/**
* MD5 案例
* @param args
*/
public static void main(String[] args) {
// 1. MD5加密 DigestUtils.md5Hex(data)
System.out.println(DigestUtils.md5Hex("StringData"));
// 2. SHA1加密 DigestUtils.sha1Hex(data)
System.out.println(DigestUtils.sha1Hex("StringData"));
}

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Java 追加文件内容
import java.io.*; public class FileAppend { public static void main(String[] args) { BufferedWriter bufferedWriter = null; try { bufferedWriter = new BufferedWriter(new FileWriter("srcFile")); bufferedWriter.write("这是初始内容。"); bufferedWriter.close(); /** * 开始追加内容 */ bufferedWriter= new BufferedWriter(new FileWriter("srcFile",true)); bufferedWriter.write("请大家注意了,这是追加内容!!!!"); bufferedWriter.close(); /** * 打印输出追加内容 */ BufferedReader bufferedReader = new BufferedReader(new FileReader("srcFile")); St...
-
下一篇
Java 创建临时文件
import java.io.*; public class CreateTempFile { public static void main(String[] args) throws IOException { File temp = File.createTempFile("pattern","suffix"); //为临时文件名称添加前缀和后缀 System.out.println("临时文件名称为:"+temp.getName()); temp.deleteOnExit(); //在退出时删除 /** * 在临时文件中写入内容 */ BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(temp)); bufferedWriter.write("这是一个临时文件 !!!"); bufferedWriter.close(); /** * 读取临时文件中的内容 */ BufferedReader bufferedReader = new BufferedReader(new FileReader(tem...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合Redis,开启缓存,提高访问速度
- 设置Eclipse缩进为4个空格,增强代码规范
- 面试大杂烩
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)