zoukankan      html  css  js  c++  java
  • 39、文件的加密

    简单文件加密

    通过输入流将文件读取到内存里面之后,可以对这些数据做一些处理,之后再将数据写出到硬盘里面从而达到加密的效果。

    package com.sutaoyu.IO;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class IO_test_4 {
        public static void main(String args) {
            BufferedInputStream bis = null;
            BufferedOutputStream bos = null;
            
            try {
                bis = new BufferedInputStream(new FileInputStream("BUffer缓冲.png"));
                bos = new BufferedOutputStream(new FileOutputStream("new.png"));
                int temp;
                while((temp = bis.read()) != -1) {
                     // 数据异或一个数字进行加密
                    bos.write(temp^88);
                }
            }
            catch(FileNotFoundException e) {
                e.printStackTrace();
            }catch(IOException e) {
                e.printStackTrace();
            }
        }
    }

    文件解密

    上面的加密操作就是在写出数据之前对数据进行异或操作,利用对一个数进行两次异或的结果就是他本身这个特点,将待解密的图片读取到内存里面,然后再进行异或操作写出即可。

    package com.sutaoyu.IO;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class IO_test_5 {
        public static void main(String args) {
            BufferedInputStream bis = null;
            BufferedOutputStream bos = null;
            
            try {
                bis = new BufferedInputStream(new FileInputStream("new.png"));
                bos = new BufferedOutputStream(new FileOutputStream("code.png"));
                int temp;
                while((temp = bis.read()) != -1) {
                     // 数据异或一个数字进行加密
                    bos.write(temp^88);
                }
            }
            catch(FileNotFoundException e) {
                e.printStackTrace();
            }catch(IOException e) {
                e.printStackTrace();
            }    
        }
    }
  • 相关阅读:
    Django
    ionic创建项目报错Error: read ECONNRESET at _errnoException (util.js:992:11) at TLSWrap.onread (net.js:618:25)
    转《vue引入第三方js库》
    转《在浏览器中使用tensorflow.js进行人脸识别的JavaScript API》
    微信小程序自定义组件
    小程序中尽量少使用定时器
    解决小程序webview缓存机制
    小程序获取当前页面URL
    6s ios9.0平台 微信小程序的fixed定位兼容性问题
    如何使用nodejs快速搭建本地服务器
  • 原文地址:https://www.cnblogs.com/zhuifeng-mayi/p/10142953.html
Copyright © 2011-2022 走看看