2016-05-30 4 views
2

現在、Windowsアプリケーションプロジェクトで作業しており、データの保護に2つの問題があります。重要なデータをWindowsフォームアプリケーションvb.netに保存する際のアドバイスc#

  1. まず、私は多くの方法を試してみましたが、それぞれが問題を抱えている、ユーザーがたびに、メインフォームの負荷を、それを入力する必要があります文字列としてパスワードを保存するファイルを作成する必要があります

    そのたびにユーザーが入力したパスワードはハッシュ化された文字列でハッシュされ、比較されるパスワードを入力し、文字列をハッシュし、ファイルに保存し

    問題:逆コンパイルアプリケーションは、誰もがハッシュ方式とファイルの場所を見てみましょう、そうすれば彼/彼女はcできる0000のような任意の文字列のハッシュ値をテキストファイルをreate、私のアプリケーションファイルとそのファイルを置き換え、キーカスタム暗号化と暗号化アルゴリズムを使用してアプリケーション

  2. を開くために0000を使用し

    問題:キーができます逆コンパイル適用後にアクセスすることが


他の問題は、上の接続文字列のためのものですアプリケーションで使用されるが、私はすべてのユーザーが接続文字列を見たくない行MySQLデータベース:他のマシンが解読して使用することはできません。

  1. がDataProtectionConfigurationProvider

    問題との接続文字列を暗号化文字列

  2. 暗号化とは、ファイル内の接続文字列を保存して解読し、そのファイルを使用する場合は、アプリケーションの負荷

    問題:復号化方法は、逆コンパイル

後にソースコードから知ることができる私は、ソースコードの難読化以外に使用することができますとにかくありますか? これらの機密データをアプリケーションに読み書きできるファイルに格納するのは、のようなものです。

は、読み取り専用権限でウェブにハッシュされたパスワードを使用してファイルを保存しようと事前

+0

一度に1つ質問してください。 –

+0

これは申し訳ありませんが、これは私の最初の質問ですstackoverflow –

+0

この場合、[質問する](http://stackoverflow.com/help/how-to-ask) [ツアー](http://stackoverflow.com/tour) –

答えて

0

に私の問題と感謝についてのアドバイスを書くこと自由に感じています。または、unmanegedコード(C++)を使用して書かれたDLLを使用してください

+0

また、パスワードファイルがロックされている場合は、非対称キーを使用できます。この場合、ファイルを自分の鍵で暗号化し、アプリケーションは別の鍵で解読します。これにより、約100%の保護が得られます。しかし、ユーザーがパスワードを追加/変更できない非常に特殊なケースでのみ。たとえば、パスワードではなくライセンスキーである場合などです。 –

+1

これはどうですか?ユーザーがパスワードを追加/変更できない理由私はAsymmetric Encryptionについて知っていますが、私はあなたをとてもよく理解しているとは思いません。もっと説明できますか? please –

+0

別の方法:パスワードファイルをデジタル署名する。署名中にアセンブリのハッシュを使用します。このハッシュをsecurestringとして保存します。デバッグを防ぐために '#if RELEASE'のようなものもあります。したがって、プログラムのコードを見ることは可能ですが、偽のファイルを作るのはずっと難しくなります。 –

関連する問題