これについて考えすぎて、複雑なことをやり過ぎて、結び目を作ったのかもしれません。私も暗号化についてよく知らないので、それは役に立ちません。
AESクラス(別の質問でここに投稿されていることがわかりました)を使用して暗号化されたフィールドを持つアプリがあり、暗号化された文字列がXMLファイルに保存されます。これで、各文字列の暗号化に使用されるパスワードがユーザーによって提供され、プログラムを初めて使用するときに設定されます。この部分は正常に機能し、必要に応じてデータを完全に暗号化および復号化できます。
私が抱えている問題は、これらの文字列を暗号化するために使用されるパスワードがアプリ内の構成ファイルに保存されていることです。最初は、DPAPIを使用してこのパスワードを暗号化し、構成ファイルに保存すると思いましたが、すべてが希望どおりに機能しているように見えました。ユーザーはプログラムを起動し、パスワードを設定し、いくつかの文字列を追加し、すべてが正常に暗号化および復号化され、すべてが完全に機能しました。
問題は、パスワードが作成されたコンピューターではこれが正常に機能することですが、別のコンピューターで使用しようとすると、DPAPIがエラーをスローします(DPAPIはマシン固有であるためと思いますか?)
したがって、基本的に、最初の起動時にユーザーが設定し、構成ファイルに保存されているパスワードを暗号化する方法が必要ですが、暗号化するためにパスワードが必要なため、他のデータを暗号化するために使用しているAESクラスを使用できません! !!
私が言っているように、私のAESクラスは他のデータの暗号化で完全に機能しますが、DPAPIで暗号化する以外に、app.configファイルに保存されているパスワードを保護して他のデバイスでエラーなしで使用できるようにする方法が必要です。
頭が痛いのは理にかなっていると思います!!!!
どんな助けでも大歓迎
追加情報:
このアプリケーションは非常にシンプルなwinformアプリであり、正しいパスワードを入力するとデータにアクセスでき、プログラムはUSBスティックに保存されるため、任意のコンピューターに接続してデータを復号化して表示できます。アプリケーションにアクセスしてデータを表示するために正しいパスワードが必要なだけのユーザー構造はありません。アプリケーションへのアクセスに使用されるパスワードは、データの暗号化に使用されるパスワードです。
重複する質問:質問は異なります。彼らの場合、DPAPIは私の場合に必要なことを実行しますが、元の質問ですでに述べたようには実行しません。
パスワードは保存しません。ユーザーに提供するように依頼します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加