欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

pdf如何解密文件(pdf密码强制解除方式)

程序员文章站 2023-11-29 14:10:46
这里使用的是文件读写流的时候进行异位算法,方法也比较简单。详细见代码,可以是任何文件,图片,pdf等;package inno320;import java.io.file;import java.i...

这里使用的是文件读写流的时候进行异位算法,方法也比较简单。

详细见代码,可以是任何文件,图片,pdf等;

package inno320;
import java.io.file;
import java.io.inputstream;
import java.io.outputstream;
import java.io.fileinputstream;
import java.io.fileoutputstream;
public class fileencanddec {
	private static final int numofencanddec = 0x99; // 加密解密秘钥
	private static int dataoffile = 0; // 文件字节内容
	public static void main(string[] args) {
		file srcfile = new file("g:\\zanshan.jpg"); // 初始文件
		file encfile = new file("f:\\encfile.jpg"); // 加密文件
		file decfile = new file("f:\\decfile.jpg"); // 解密文件
		try {
			encfile(srcfile, encfile); // 加密操作
			decfile(encfile,decfile);
		} catch (exception e) {
			e.printstacktrace();
		}
	}
	private static void encfile(file srcfile, file encfile) throws exception {
		if (!srcfile.exists()) {
			system.out.println("source file not exixt");
			return;
		}
		if (!encfile.exists()) {
			system.out.println("encrypt file created");
			encfile.createnewfile();
		}
		inputstream fis = new fileinputstream(srcfile);
		outputstream fos = new fileoutputstream(encfile);
		while ((dataoffile = fis.read()) > -1) {
			fos.write(dataoffile ^ numofencanddec);
		}
		fis.close();
		fos.flush();
		fos.close();
	}
	private static void decfile(file encfile, file decfile) throws exception {
		if (!encfile.exists()) {
			system.out.println("encrypt file not exixt");
			return;
		}
		if (!decfile.exists()) {
			system.out.println("decrypt file created");
			decfile.createnewfile();
		}
		inputstream fis = new fileinputstream(encfile);
		outputstream fos = new fileoutputstream(decfile);
		while ((dataoffile = fis.read()) > -1) {
			fos.write(dataoffile ^ numofencanddec);
		}
		fis.close();
		fos.flush();
		fos.close();
	}
}

中间为加密后的文件,无法在正常打开,右边为解密 的文件,这里的密钥可以自己定义