我正在用 C# 开发一个工具,它使用线程并行加密多个文件,使用用户密码来创建密钥。为避免数据丢失,我正在使用加密数据创建一个新文件,并且仅在加密结束时删除旧文件。加密结束后,该工具会抓取旧文件,获取其文件大小(以字节为单位)并向其写入随机字节。完成后,文件最终被删除。
我根据以下假设制作了此功能:当您编辑文件时,数据将写入磁盘上的同一位置(只要它具有完全相同的字节长度),但我开始质疑这个假设。
我知道当你创建一个新文件时,数据是随机写入磁盘的,但是如果我编辑一个文件,读取然后写入,会发生什么?我实际上是在覆盖任何东西还是我的努力是徒劳的?