- - PR -
VB.NET入門者:テキストをユーザーから見られないが、VBからは見られるようにするには?
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2009-03-17 10:47
いつも参考にさせていただいてます。
今日は、簡単な問題出題プログラムをVBで作ろうと思い 構想を練っているところで、ある問題にぶつかったので 書き込みさせていただきました。 問題出題プログラムの仕様は以下のとおりです。 まず、問題と解答をそれぞれテキストファイルで作成します。 問題出題プログラムを実行すると、問題ファイルを読み込み出題します。 画面上で解答を入力し、解答ファイルをチェックし 正解、不正解を表示するというものです。 しかし、問題ファイル、解答ファイルの格納場所(フォルダ)を 解答者に見つけられると面白くありません。 どうにかして、各ファイルを解答者から見られない場所に隠して、 でもVBからは見られるようにしたいのですが 何か良い方法はないものでしょうか。 ちなみに、問題出題プログラムの実行アカウントは 管理者権限でも、そうでなくてもよいです。 (例えば今回の問題を解決するために、管理者権限以外に 統一するということでも問題ないです) 良い方法をご存知の方、ご教授くださいますよう 宜しくお願いいたします。 |
|
投稿日時: 2009-03-17 11:30
暗号化するとか
|
|
投稿日時: 2009-03-17 11:41
ぶさいくろうさん
返信ありがとうございます。 ファイルを隠すというキーワードで検索してみると 以下について出てきました。 1.隠しファイル属性 2.NTFSファイルシステムによってファイルを暗号化 内容を暗号化してデータをセキュリティで保護する 3.CryptoStreamクラスの利用してファイルを暗号化 1.、2.は解答者もVBも同じ立場になってしまい、 VBが見られるなら解答者にも見られてしまいそうですね。 やはり3.が一番な方法になるのでしょうか。 CryptoStreamクラスについて勉強してみます。 ありがとうございました。 |
|
投稿日時: 2009-03-17 11:43
リソースとして実行ファイルに埋め込むとか。
|
|
投稿日時: 2009-03-17 13:08
Kingさん
返答ありがとうございました。 問題,解答をリソースとして実行ファイルに 埋め込む方法は、問題の追加・変更(それに伴う 解答の追加・変更)が容易でないために ファイルとして持とうと考えました。 データベースを利用する考えもありますが、 今のところテキストファイルを前提としております。 先の書き込みで一度はあきらめた 2.NTFSファイルシステムによってファイルを暗号化 ですが、例えばGuestユーザーでログインし 問題出題プログラムの中でAdministratorとして 暗号化ファイルを読むことはできないのでしょうか。 Administratorのパスワードはプログラムの中に 埋め込みます。 ご存知の方いらっしゃいましたら ご教授お願いいたします。 以上、宜しくお願いいたします。 |
|
投稿日時: 2009-03-17 13:22
> 問題,解答をリソースとして実行ファイルに
> 埋め込む方法は、問題の追加・変更(それに伴う > 解答の追加・変更)が容易でないために > ファイルとして持とうと考えました。 1.テキストファイルで問題、解答を作成。 2.テキストファイルをリソースファイルとして追加。 3.リソースのテキストを読み込むコードを作成。 というのと 1.テキストファイルで問題、解答を作成。 2.テキストファイルを暗号化。 3.暗号化したテキストファイルを複合化し読み込むコードを作成。 という違いになると思いますが。 問題、解答を追加する際はどちらにしろ1から作らないとだめですよね? 暗号化したファイルはもう編集できないですし。 |
|
投稿日時: 2009-03-17 13:38
Kingさん
返答ありがとうございます。 先ほどのわたしの書き込みが 言葉足らずだったことをお詫びいたします。 先ほどの書き込みは以下を想定したものとなります。 問題,解答を実行ファイルに埋め込まずに テキストで問題,解答ファイルを作成し(まだ暗号化していない)、 暗号化し(暗号化には別途プログラムを用意する必要あり)、 問題出題プログラムで復号化して読み込ませる。 というような考えです。 問題,解答ファイルの追加・変更を行いたい場合は まだ暗号化していない元ファイルに対して行います。 また何かありましたら宜しくお願いいたします。 ありがとうございました。 |
|
投稿日時: 2009-03-17 13:50
コンパイルし直さずにに問題解答ファイルの置き換えだけで済む、
という事ですね。 見当違いの回答をしてしまい申し訳ありません。 |