这里使用的是文件读写流的时候进行异位算法,方法也比较简单。
详细见代码,可以是任何文件,图片,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.wf"); // 初始文件File encFile = new File("f:\\encFile.wf"); // 加密文件File decFile = new File("f:\\decFile.wf"); // 解密文件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();}}中间为加密后的文件,无法在正常打开,右边为解密 的文件,这里的密钥可以自己定义
查看更多关于【运动健身】的文章