2012-02-09 10 views
0

私はフォルダを持っています。フォルダを使用します。ファイル(主に.png)。後で読むためにファイル/フォルダを「暗号化する」

学習目的のために、私はそのフォルダをとり、単一のデータファイルで "コンパイル"するアプリケーションを作成しようとしています。 .binのように。要点は、ユーザーが画像を見たり編集したりすることができないということです。

私のアプリケーションは、このようなデータファイルを開いてフォルダの内容を読み込み、フォルダ内にある画像を表示することができます。Image.fromFile( "pathForTheFile"など)を使用してください。

これは可能ですか?フォルダ/画像、またはオーディオを1つのファイルに「暗号化」または「コンパイル」して、将来VB.NETを使用して再度読み込むことは可能ですか?

答えて

0

は、あなたが探しているものを行うには、このMSDNの記事の例のいくつかを実現することができます。http://msdn.microsoft.com/en-us/library/aa719106%28v=vs.71%29.aspx

+0

しかし、ユーザーはまだ.zipファイルの内容を調べることができると思います。 – Voldemort

+0

ファイルが暗号化されていれば、そのファイルは無駄になります。 –

+0

私のアプリケーションが後で内容を読むことができる限り、私はそのようなファイルに触れる必要はありません。 – Voldemort

0

それはあなたがメカニズムになりたいどのくらい確保に依存します。 .zip拡張子を書いていないのであれば、Justin(Justinのように)を圧縮するだけで十分です。しかし、それはではなく、であり、Zipクライアントで "コンパイル済み"ファイルを開こうとする人は、フルアクセス権を持ちます。

バイナリをスクランブルしてから、単純なアルゴリズムでディスクに書き直すことができます。たとえば、いくつかのバイトの順序を逆にすることができます。その後、ファイルを読むときには反対の動きをします。それは遅くなるか、または人々がファイルを操作しようとするのを止めるでしょう。

本当のセキュリティが必要な場合は、公開鍵/秘密鍵アルゴリズムが必要です。アプリ内で使用できるAPIがいくつかあります。すばらしいGoogle検索では、http://www.bouncycastle.org/csharp/のようなものがありました。

もう1つの方法は、データベースに画像を保存し、他のプロジェクトと同様にデータベースを保護することです。

+0

いくつかのバイトの順序を逆にするにはどうすればよいですか? – Voldemort

+0

個人用の場合は、基本的な共通鍵暗号アルゴリズムを使用するだけで、VBアプリケーションで暗号化/復号化の際にパスワードの入力を求めることができます。 – Roman

+0

いったんストリームをバイト配列にロードすると、10バイトごとにこのバイトを次のバイトと交換するか、偽のバイトを挿入すると言うことができます。それは配列の単純なループです。 –

関連する問題