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条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Hadoop3单机部署,实现最简伪集群
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池