2012-01-14 131 views
1

我正在设计一个系统来处理纯文本文件,其功能之一是将处理后的文件移动到归档服务器,一旦它们完全通过系统进行处理。我想要做的就是在文本文件被系统完全处理之后标记文本文件,即批准或标记的系统密封。原因是我希望这个系统能够稍后分析文本文件并搜索这个隐藏的标记,以便它可以将它标识为已经被处理过。与此同时,我希望这个标记被任何其他可能处理此文件的系统忽略。在隐藏文本文件中嵌入隐藏的编码位

我在考虑拥有一个唯一的密钥,只有该系统使用并有权访问并创建哈希程序在把钥匙移到最终目的地之前,将钥匙放入文本文件中。我很好奇任何其他创建隐藏式印章或标记的技巧。总结如下:

  1. 我可以创建一组或一串编码位并将它们放在一个文本文件中吗?
  2. 这些位可以隐藏在文本文件中,以便可以处理此文本文件的任何其他系统忽略它们吗?

我会很感激任何见解或反馈。

+0

就你而言,修改原始内容真的可以吗? – JAM 2012-01-14 18:27:51

+0

而不是修改原始内容,可能更容易使用档案服务器上文件系统的元数据。您可以对元数据中的数据进行签名。例如,[这里](http://en.wikipedia.org/wiki/NTFS#Metafiles)是wikipedia上的NTFS元描述。 – 2012-01-15 02:06:26

回答

2

就个人而言,我会避免修改原始内容,ASCII text文件(据我所知)不能以防止所有应用程序看到签名的方式进行签名。

相反,我会拿那个文件的MD5维持“加工”,从尚未被“处理过的那些单独一个。

Map<MD5, FileName>是要考虑的结构。您应该能够编写代码,既通过MD5或文件名检索。

希望它能帮助。

0

隐藏数据的另一个文件中被称为隐写术,它可以用ASCII文件来完成,但通常更容易与数据或图像文件来完成。

在您的特定情况下,处理文件的并行寄存器或元数据似乎更适合。只要您不希望恶意的蓄意攻击,使用一个好的散列,MD5或更好的就可以。在这种情况下,您需要使用HMAC-MD5或HMAC-SHA-256。恶意攻击者可以轻松地为修改后的文件计算正确的哈希值。

+0

感谢这个洞见rossum。 – kingrichard2005 2012-01-23 23:55:19