首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C++中从硬盘擦除文件

在C++中从硬盘擦除文件
EN

Stack Overflow用户
提问于 2018-06-14 02:34:19
回答 2查看 276关注 0票数 2

例如,我知道如何对整个磁盘进行取证擦除。我可以只使用createfile,然后使用writefile来写入整个磁盘。例如,D:\带有随机的垃圾数据位,因此当我启动easus恢复管理器之类的实用程序时,我将无法找到任何文件的任何痕迹或恢复它们。现在,我正在尝试使用磁盘中的特定文件或目录来完成相同的任务。假设有一个名为Test.txt的文件,我想要删除它,并用垃圾值填充它占用的空间,这样就不会像windows通常工作的那样遗漏空间而被覆盖。有没有可能用C语言做呢?如果是这样,我该怎么做呢?一个代码片段会非常有帮助!

EN

回答 2

Stack Overflow用户

发布于 2018-06-14 03:55:36

任何类型的软件技术都不能可靠地清零文件系统,更不用说单个文件或目录了。您需要放弃这种方法。

现在,您的另一个选择是物理销毁比特。是的,它是有效的,但是来吧。您不能在每次要销毁文件时都销毁磁盘。

另一个更可行的选择是在文件中存储数据时始终对数据进行加密。这将问题减少到只擦除密钥。但由于它明显更小,你可以把它放在一张纸上。现在你只需要撕下那张纸,然后在文件上做一个正常的删除。即使“他们”恢复了加密的内容,他们也不能对它做任何事情。

尽管有一些因素需要考虑。在读取文件时,您必须注意数据只保留在“内存”中。你可能会说,我永远不会把未加密的东西写到磁盘上。但操作系统可能会做到这一点。假设它交换了你的进程。

所以你需要仔细设计你的查看器。它应该只将文件解密到固定的内存页中。您可能需要为它编写一些内核模块。您还必须注意如何将数据发送到显示驱动程序,以及它如何处理这些数据。是的,使用足够的内核模块是可行的。但从解密到在屏幕上绘制像素的每一步都需要仔细审计。

票数 3
EN

Stack Overflow用户

发布于 2018-06-14 18:20:59

元答案

好消息:

打开设备加密

设备加密通过加密数据来帮助保护您的数据。只有拥有正确的加密密钥(如密码)的人才能解密它。

坏消息:

设备加密在Windows10家庭版中不可用。

耶和华施与,耶和华取去,看哪,https://support.microsoft.com/en-gb/help/4028713/windows-10-turn-on-device-encryption

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50844024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档