
我有興趣了解應用程式產生的加密檔案的格式數據衛士。據我所知,密碼的某種轉換儲存在名為「hexIdentifier」的欄位中。我覺得奇怪的是,如果兩個檔案使用相同的密碼保存,那麼它們都有相同的「hexIdentifier」字串。我不是為這個應用程式做廣告,我不隸屬於該公司。我正在評估該應用程式。
答案1
我會非常如果它確實將密碼(編碼或未編碼)儲存在加密文件中,您會感到驚訝,因為這樣做會表明您對密碼學缺乏了解,在這種情況下,如果您需要加密文件,強烈建議您跳過該軟體確保安全。沒有實際原因需要儲存密碼。
如果它確實儲存密碼,那麼即使價格低廉也不是使用它的理由,因為有足夠的其他節目更安全、更均勻自由的(事實上,即使是標準檔案員提供安全加密功能(不儲存密碼)。
至於數據衛士,我有一些壞消息。我做了一些測試,你和驚訝是正確的。看來這個hexIdentifier
字段不僅僅和密碼有關,它甚至不是一個hash,它是實際密碼!(儘管已編碼,但即使沒有大字母表)。
如果您使用越來越大的密碼(例如一個字元、兩個字元、三個...)重複儲存相同文件,則會導致欄位發生變化,但大小保持不變(64 位元),最多八個字元,然後從 9 個字符變為 16 個字符,該字段更改為 128 位,依此類推。換句話說,它將密碼分塊(填充?)並編碼為 8 個字元的區塊。如果它是哈希值,則無論密碼長度如何,欄位的大小都將保持不變。因此,它實際上是對密碼本身進行編碼和儲存。
程式資料夾中有一個 DLL,表示它使用 Blowfish 分組密碼(它使用 64 位元區塊,還記得上面的 64 位元區塊嗎?),因此密碼和資料可能都用它加密(儘管與資料分開而不是作為同一流的一部分,這使得它更容易受到攻擊)。
我僅在幾分鐘內運行程式內測試(同時看電視)就已經找出了演算法的幾個方面,而無需在反彙編程式中開啟它或查看一行程式碼。我不認為對於有適當動機的人來說完全扭轉它會太困難。
總而言之,如果您需要加密,Data Guardian 就不夠可靠(有點違背了名稱的目的)。如果你不這樣做需要加密或資料不敏感,那麼您就可以使用它(它是一個專門的記錄保存程序,而不是通用加密程序)。否則,如果需要安全性,那麼您最好尋找另一個具有更強加密能力的記錄管理程序,或者只使用普通程序(甚至 Data Guardian)並使用通用加密程序(或NTFS加密)。
你也可以聯繫開發人員並詢問他們是否可以實現更強的加密(甚至是標準的 Microsoft 加密 API[1][2][3][4]會很好;也加密++這是常見的,因為 Boost 無法添加)。