加密磁盘某一目录的所有文件
本文章采用的加密算法是对文件的所有字节进行减一处理。
对目录文件进行加密主要的难点是对目录进行遍历,那怎样进行遍历?
本文章采用递归的方法,先判断根目录下的文件是不是目录,是的话进行递归,不是的话进行加密,再把原文件删除,主要代码如下:
加密模块主要执行的内容是生成一个新文件,然后读取原文件的字节,进行减一,写到新文件。主要代码如下:
解密模块主要执行的内容是生成加密前的文件,然后读取加密文件的字节,进行加一,写到加密前的文件。主要代码如下:
执行测试:对D:\cs下所有文件进行加密
执行结果:
还原后缀名也无法读取
然后进行解密:
后记:对目录遍历的方法还可以采取广度遍历,如建立一个队列,将根目录入队, 循环判断队列长度是否为0,是的话退出,不是则将队列的目录出队,出队的目录下的子目录入队,文件则进行加密。