问题背景介绍
最近的项目需要进行很多的文件处理,因此就有了大量的IO操作。有的地方是先解密,再加密,有的是压缩,加密,再签名,最主要的是所有的非加密文件都需要安全删除,先填充一遍0,再把文件删除。
初始解决方案和问题
开始时我们使用文件来存储处理过程中的临时数据,以文件更换密码为例,需要进行如下处理:
- 解密原来的加密文件,写到一个临时文件
- 读取解密的临时文件,加密写到最终文件
- 将临时文件填充0,并删除
示例代码如下:
FileEncryptor.decrypt(originalEncryptedFile, tempFile); FileEncryptor.encrypt(tempFile, resultEncryptedFile); FileEraser.safeErase(tempFile);
这个过程中的IO操作如下图所示: Continue reading “通过流的方式处理文件压缩,加解密,签名”