专业的编程技术博客社区

网站首页 > 博客文章 正文

Java实现图片文件转Base64编码加密解密

baijin 2024-09-04 01:47:36 博客文章 5 ℃ 0 评论

直接上代码,这里也可以对base64 进行在加密

package inno320;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class FileCode {
	/**
	 * <p>
	 * 将文件转成base64 字符串
	 * </p>
	 * 
	 * @param path
	 * 文件路径
	 */
	public static String encodeBase64File(String path) throws Exception {
		File file = new File(path);
		FileInputStream inputFile = new FileInputStream(file);
		byte[] buffer = new byte[(int) file.length()];
		inputFile.read(buffer);
		inputFile.close();
		return new BASE64Encoder().encode(buffer);
	}
	/**
	 * <p>
	 * 将base64字符解码保存文件
	 * </p>
	 */
	public static void decoderBase64File(String base64Code, String targetPath) throws Exception {
		byte[] buffer = new BASE64Decoder().decodeBuffer(base64Code);
		FileOutputStream out = new FileOutputStream(targetPath);
		out.write(buffer);
		out.close();
	}
	/**
	 * <p>
	 * 将base64字符保存文本文件
	 * </p>
	 */
	public static void toFile(String base64Code, String targetPath) throws Exception {
		byte[] buffer = base64Code.getBytes();
		FileOutputStream out = new FileOutputStream(targetPath);
		out.write(buffer);
		out.close();
	}
	public static void main(String[] args) {
		try {
			String base64Code = encodeBase64File("f:\\yidong.png");
			System.out.println(base64Code);
			decoderBase64File(base64Code, "F:\\解密.jpg");
			toFile(base64Code, "F:\\three.txt");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

加密后生成的字符

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表