2012-01-14 125 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