Nap*_*eon 5 c# security directory cryptography delete-file
我知道如何在C#中擦除文件,包括它的扇区等.
但是如何覆盖目录呢?
示例:@"C:\mydirectory\"
必须永远不可恢复(所有文件内部已经被擦除),以便无法恢复目录结构或其名称.
-------------------下面更新(评论格式是如此麻烦,所以我在这里发布)---
对于文件删除,我查找分区的簇和区段大小,并使用5种不同的算法将其覆盖至少40次,其中最后一种算法始终是随机算法.数据实际上每次都写入磁盘(而不仅仅是内存或其他东西).唯一的风险是,当我擦除某些东西时,理论上可以更改该文件磁盘上的物理地址.我知道的唯一解决方案是在擦除文件后擦除可用磁盘空间,并希望当前没有其他文件部分保留擦除文件的旧物理位置.或者Windows不做这样的事情?
http://www.sans.org/reading_room/whitepapers/incident/secure-file-deletion-fact-fiction_631指出:
"重要的是要注意一致认为,覆盖数据只会降低数据被恢复的可能性.数据被覆盖的次数越多,恢复数据的成本和成本就越高.事实上,Peter Guttman说:"它是通过简单地覆盖存储位置,无论有多少覆盖传递或写入什么数据模式,都无法对存储位置进行消毒."3使用磁力显微镜可以恢复覆盖数据,这可以处理硬盘上的成像磁化模式磁盘.如何实现这一目标的实际细节超出了本文的范围."
我个人认为,当我使用不同的(可能是未知的)算法覆盖100次以上的数据时(如果没有像交换文件那样留在其他地方的数据副本),那将需要任何非常昂贵的专业团队多年才能获得这些数据.如果他们确实在那些年后获得了数据,那么他们应该得到它我认为......那一定是一个终生的项目.
所以:
然后结论应该是:(几乎)不可能在C#中安全擦除?