文件保存什么样的信息以及如何使用 C# 删除它

What kind of information do files save and how to remove it using C#

我想弄清楚 information/metadata 文件中的哪些内容可能存在安全风险? 我一直在四处寻找,但找不到简单的答案,我担心文件类型之间可能完全不同。

在任何情况下,是否存在每个文件保留的任何一般信息(如创建日期)可以被跟踪或用于对付某人,如果有,哪种方法最容易从文件中清除此信息(使用 C#).

或者,如果我找错地方寻求帮助,有人可以指点我正确的方向吗?

任何文件都可以有不同类型的元数据。

特定于文件系统

无论您使用什么操作系统和文件系统,文件系统本身都会存储有关文件的元数据。它可以包括文件在磁盘上的确切位置(哪些扇区)、创建、修改时间、所有者、访问权限、上次访问时间等。它完全取决于文件系统(因此 OS) . NTFS 不同于旧的 FAT32,这些与 Linux 上的 Ext4 之类的东西非常不同。

特定文件类型

然后任何文件都可以将自己的元数据作为其内容。例如,图像可以保存 Exif 数据,mp3 可以保存 idv2 或 idv3 标签(艺术家、歌曲名称等),其他文件类型可以保存除 "actual" 数据之外的任何其他元数据。这完全取决于文件类型,创建文件类型(或描述它的标准)的应用程序开发人员决定可以包含什么。

隐写术

如果您从安全角度来看,几乎任何文件都可以保存 "hidden" 数据,称为 steganography。它是关于将数据隐藏在另一段数据中,而隐藏部分的存在不明显。例如,在有效图像中隐藏一条消息(或整个其他文件),没有人只看图像就知道有隐藏消息。

所以与文件类型特定的东西相比,这里的区别在于,在这种情况下,文件类型中的数据没有预期的 space,它只是以智能方式编码到文件数据本身,从哪里如果你知道如何(有时如果你知道某种加密秘密),你可以检索信息。

硬件特定

根据存储硬件的不同,我认为您的存储介质内部也会存储一些元数据。这可能与您有关,也可能与您无关,不幸的是,我根本不是这方面的专家。