当前位置:LBNB > 实用知识 > pdf如何解密文件(pdf密码强制解除方式)

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

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

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

pdf如何解密文件(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(); }}

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