2009-07-10 8 views
1

私は* .regというファイルをいくつかの重要なデータを持つファイルを使用して生成しています。ユーザーはこれをレジストリに保存します。アプリケーションの起動、私は、レジストリから値を取得し、いくつかの検証を行っております時にレジストリの内容を暗号化

..

が、問題は、情報レジストリと*を.regファイルにプレーンテキストで保存されているということです。

どのようにして暗号化* .regファイルを作成できますか?

次にアプリケーションが開始されます。レジストリから(暗号化された)値を復号化する方法。

私はいくつかの記事を読んでいます。ファイルの暗号化/復号化に関連しています。 ここでは、 "* .reg"ファイルとレジストリ自体を使用しています

答えて

0

申し訳ありませんモサン、それは間違った方法です。 d。正しい方法を示しました。

.regファイルを暗号化すると想像してください。その後何が起こるはずですか?あなたはそれをレジストリにインポートするのが好きですが、それを解読する前にプレーンテキストが登録されていれば誰でも読むことができます。

キーや値の名前は暗号化しないでください。レジストリ内の値の内容を暗号化します。だから、あなたのプログラムはそれを読み込み、解読してそれを処理することができます。次に例を示します。

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

だからプログラムは、キーを開き、値を読み取り、その値に復号化アルゴリズムを計算し、それを解決する:「私の秘密のパスワード」

1

プログラムがレジストリから値を読み取っている唯一のものであれば、それらを暗号化して保存し、毎回使用するたびに復号化することができます。 エクスポートされた.regファイルにも暗号化されたデータが含まれます。

データを使用する他のプログラムがある場合は、必要な情報にアクセスして理解できるようにする必要があります。

0

何がポイントですか?誰でも、Regmonのようなツールを使って、あなたが設定した値を調べることができます。

代わりに、値を暗号化して、アプリケーションが読み込んだときに復号化するだけです(つまり、そのデータにアクセスする唯一のアプリケーションだとします)。しかし、解読鍵を実行ファイルのどこかに格納しなければならないことに注意してください。この鍵は他のワームの缶全体を開くものです。

0

レジストリを透過的に暗号化することはできません。

私は、公開鍵/秘密鍵または対称鍵暗号化方式を検討します。ここで

は、RSAを使用するための簡単なプロジェクトです:リソースであなたの鍵を格納する http://www.codeproject.com/KB/security/RSACryptoPad.aspx

はおそらく、内容物を保護するための最良の方法ですが、警告が表示さ:あなたは上のキーと暗号文の両方を保存する場合同じシステム(例えばあなたのプログラムとレジストリの中に)では、システムの所有者がプレーンテキストを読むことを完全に防ぐ方法はありません。

関連する問題