2009-07-10 99 views
1

我正在生成* .reg文件使用的代碼將有一些重要的數據。用戶將把它保存到註冊表中。加密註冊表內容

在應用程序啓動我從註冊表中獲取價值和進行一些驗證..

但問題是,在註冊表中和的* .reg文件的信息都存儲在純文本格式。

如何創建加密的* .reg文件。

然後在應用程序啓動。如何解密從註冊表中的值(加密)..

我讀了一些文章。但它們與文件的加密/解密有關。 這裏我正在處理「*。reg」文件和註冊表本身

回答

0

對不起Mohsan,這是錯誤的方式。 d。顯示了正確的方式。

想象一下,如果你加密.reg文件。之後會發生什麼?你會喜歡將它導入到註冊表中,但是在你需要解密它之前,只需將純文本輸入到註冊表中即可以讀取每個人。

所以不要加密您的密鑰或值名稱。在註冊表中加密你的值的內容。所以你的程序可以讀入它,解密並使用它。這裏有一個例子:

[HKLM\Key\SubKey\SubSubKey\etc] 
@="" 
"Password"="KALSDJLSIWNKLDNISNDLKWDNLAW" 

所以你程序打開鍵,讀值並計算該值解密算法,它解析爲:「我的祕密密碼」

1

如果您的程序是唯一一個從註冊表中讀取值,您可以將它們加密並在每次使用時解密它們。 這種方式導出的.reg文件也將包含加密數據。

如果有其他程序使用這些數據,您必須確保他們可以訪問和了解他們所需的信息。

0

有什麼意義?任何人都可以使用像Regmon這樣的工具來找出你設置的值。

您應該只需加密值並在應用程序讀取它們時解密它們(假設您的應用程序是唯一訪問該數據的應用程序)。但請記住,您必須將解密密鑰存儲在可執行文件的某個地方,這可以打開一大堆蠕蟲。

0

您無法透明地加密註冊表。

我會看公共/私人密鑰或對稱密鑰加密方法。

這裏是一個快速的項目中使用RSA: http://www.codeproject.com/KB/security/RSACryptoPad.aspx

在資源存儲你的鑰匙可能是爲了保護內容的最好方式,但要注意:如果你同時存儲密鑰和密文的相同的系統(例如,在您的程序和註冊表中),無法完全阻止系統的所有者讀取純文本。