简单的对图片文件进行加密解密

 
package com.beijing.lebo.util.image;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 图片加密解密工具类
 * 
 * @author Administrator
 */
public class ImageLock {

	/**
	 * @param args
	 *            测试主方法
	 * @throws IOException
	 */
	public static void main(String[] args) throws IOException {
		lockImage("C:/1.png", "C:/2.png", 111111);
		unLockImage("C:/2.png", "C:/3.png", 111111);
	}

	/**
	 * 
	 * @param file_path
	 *            待加密的图片路径
	 * @param save_path
	 *            加密后的图片路径
	 * @param lock_num
	 *            加密密钥
	 * @throws IOException
	 */
	public static void lockImage(String file_path, String save_path,
			int lock_num) throws IOException {
		File soure = new File(file_path);
		File save = new File(save_path);
		lockImage(soure, save, lock_num);
	}

	/**
	 * 
	 * @param file_path
	 *            待加密的图片文件
	 * @param save_path
	 *            加密后的图片文件
	 * @param lock_num
	 *            加密密钥
	 * @throws IOException
	 */
	public static void lockImage(File soure_file, File save_file, int lock_num)
			throws IOException {
		FileInputStream fis = new FileInputStream(soure_file);
		FileOutputStream fos = new FileOutputStream(save_file);
		int b = 0;
		while ((b = fis.read()) != -1) {
			fos.write(b - lock_num);
			fos.flush();
		}
		fos.close();
		fis.close();
		System.out.println("加密完成");
	}

	/**
	 * 
	 * @param file_path
	 *            待解密的图片路径
	 * @param save_path
	 *            解密后的图片路径
	 * @param unlock_num
	 *            解密密钥
	 * @throws IOException
	 */
	public static void unLockImage(String file_path, String save_path,
			int unlock_num) throws IOException {
		File soure = new File(file_path);
		File save = new File(save_path);
		unLockImage(soure, save, unlock_num);
	}

	/**
	 * 
	 * @param file_path
	 *            待解密的图片文件
	 * @param save_path
	 *            解密后的图片文件
	 * @param unlock_num
	 *            解密密钥
	 * @throws IOException
	 */
	public static void unLockImage(File soure_file, File save_file,
			int unlock_num) throws IOException {
		FileInputStream fis = new FileInputStream(soure_file);
		FileOutputStream fos = new FileOutputStream(save_file);
		int b = 0;
		while ((b = fis.read()) != -1) {
			fos.write(b + unlock_num);
			fos.flush();
		}
		fos.close();
		fis.close();
		System.out.println("解密完成");
	}
}

posted @ 2011-10-09 12:08  jason.android  阅读(959)  评论(0)    收藏  举报