【问题标题】:Identify downloaded file识别下载的文件
【发布时间】:2014-04-03 19:45:13
【问题描述】:

我有一个供用户使用的私人文件存储,我想强制直接从我的存储下载文件,而不是通过某些对等共享。 所以我想知道是否可以为每个下载的文件添加一些额外的字节,这样它仍然是可执行的,但是如果我找到一些重新上传的文件,我就能说出是哪个用户下载的。

这种方法可行吗?

考虑的文件格式可能包括: MS Word 文件、PDF、RAR、ZIP 文件

编辑

我对这个概念进行了更多思考,但我想到了一件事: 如果我将文件的创建日期和修改日期设置为特定且唯一的日期怎么办? 例如:1980/05/16 10:12:54

当然 - 如果有人想删除印章,他总是可以这样做,但大多数用户不会弄明白。

这种方法有什么问题吗?您是否看到其他可以轻松设置的“属性”?

【问题讨论】:

  • 请用一些平台信息(即 Windows、Android、?)和您使用的编程语言标记您的问题。总体而言,您的问题非常不明确。
  • 问题已编辑。但毕竟我的问题是针对一般的二进制文件结构。
  • 我读过一些叫做“隐写术”的东西。这是一种将信息隐藏在用于不同目的的事物中的艺术——比如在绘画中编码信息,诸如此类。根据您的文件类型,有不同的方法。你能告诉我更多关于你正在分享的文件吗?
  • 是的,语言和平台在这里实际上是无关紧要的。不过,我可以从“人们能够找到您的问题”的角度来理解它;没有标签你很可能会被忽视。
  • @VojtechB“通用二进制文件结构”因平台而异,然而,这是罗伯特问题的重点。尝试将一些额外的字节放入 EXE 几乎肯定不会像尝试将一些额外的字节放入 Mac 应用程序那样工作,这反过来几乎肯定不会像将一些字节放入 Linux 一样工作应用程序。不同的二进制格式需要不同的方法。

标签: c# windows


【解决方案1】:

听起来您可能只想坚持使用标题数据。您列出的许多文件类型都允许将您正在谈论的信息添加到它们的标题中。除此之外,您所说的结构非常不同,添加超出其范围的任何内容都需要为每种文件类型自定义代码。

这是一篇关于 SO 的好帖子,它讨论了处理元数据(通读所有答案,而不仅仅是接受的答案):Read/Write 'Extended' file properties (C#)

【讨论】:

    猜你喜欢
    • 2022-06-29
    • 2014-12-18
    • 2021-10-18
    • 1970-01-01
    • 2021-10-13
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多