- PR -

VB.NET入門者:テキストをユーザーから見られないが、VBからは見られるようにするには?

投稿者投稿内容
うーたん
常連さん
会議室デビュー日: 2008/09/16
投稿数: 34
投稿日時: 2009-03-17 10:47
いつも参考にさせていただいてます。

今日は、簡単な問題出題プログラムをVBで作ろうと思い
構想を練っているところで、ある問題にぶつかったので
書き込みさせていただきました。

問題出題プログラムの仕様は以下のとおりです。
まず、問題と解答をそれぞれテキストファイルで作成します。
問題出題プログラムを実行すると、問題ファイルを読み込み出題します。
画面上で解答を入力し、解答ファイルをチェックし
正解、不正解を表示するというものです。

しかし、問題ファイル、解答ファイルの格納場所(フォルダ)を
解答者に見つけられると面白くありません。
どうにかして、各ファイルを解答者から見られない場所に隠して、
でもVBからは見られるようにしたいのですが
何か良い方法はないものでしょうか。

ちなみに、問題出題プログラムの実行アカウントは
管理者権限でも、そうでなくてもよいです。
(例えば今回の問題を解決するために、管理者権限以外に
統一するということでも問題ないです)

良い方法をご存知の方、ご教授くださいますよう
宜しくお願いいたします。
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2009-03-17 11:30
暗号化するとか
うーたん
常連さん
会議室デビュー日: 2008/09/16
投稿数: 34
投稿日時: 2009-03-17 11:41
ぶさいくろうさん
返信ありがとうございます。

ファイルを隠すというキーワードで検索してみると
以下について出てきました。
1.隠しファイル属性
2.NTFSファイルシステムによってファイルを暗号化
  内容を暗号化してデータをセキュリティで保護する
3.CryptoStreamクラスの利用してファイルを暗号化

1.、2.は解答者もVBも同じ立場になってしまい、
VBが見られるなら解答者にも見られてしまいそうですね。
やはり3.が一番な方法になるのでしょうか。

CryptoStreamクラスについて勉強してみます。
ありがとうございました。
King
ぬし
会議室デビュー日: 2008/06/20
投稿数: 284
投稿日時: 2009-03-17 11:43
リソースとして実行ファイルに埋め込むとか。
うーたん
常連さん
会議室デビュー日: 2008/09/16
投稿数: 34
投稿日時: 2009-03-17 13:08
Kingさん
返答ありがとうございました。

問題,解答をリソースとして実行ファイルに
埋め込む方法は、問題の追加・変更(それに伴う
解答の追加・変更)が容易でないために
ファイルとして持とうと考えました。
データベースを利用する考えもありますが、
今のところテキストファイルを前提としております。

先の書き込みで一度はあきらめた
2.NTFSファイルシステムによってファイルを暗号化
ですが、例えばGuestユーザーでログインし
問題出題プログラムの中でAdministratorとして
暗号化ファイルを読むことはできないのでしょうか。
Administratorのパスワードはプログラムの中に
埋め込みます。

ご存知の方いらっしゃいましたら
ご教授お願いいたします。

以上、宜しくお願いいたします。
King
ぬし
会議室デビュー日: 2008/06/20
投稿数: 284
投稿日時: 2009-03-17 13:22
> 問題,解答をリソースとして実行ファイルに
> 埋め込む方法は、問題の追加・変更(それに伴う
> 解答の追加・変更)が容易でないために
> ファイルとして持とうと考えました。

1.テキストファイルで問題、解答を作成。
2.テキストファイルをリソースファイルとして追加。
3.リソースのテキストを読み込むコードを作成。

というのと

1.テキストファイルで問題、解答を作成。
2.テキストファイルを暗号化。
3.暗号化したテキストファイルを複合化し読み込むコードを作成。

という違いになると思いますが。
問題、解答を追加する際はどちらにしろ1から作らないとだめですよね?
暗号化したファイルはもう編集できないですし。
うーたん
常連さん
会議室デビュー日: 2008/09/16
投稿数: 34
投稿日時: 2009-03-17 13:38
Kingさん
返答ありがとうございます。

先ほどのわたしの書き込みが
言葉足らずだったことをお詫びいたします。

先ほどの書き込みは以下を想定したものとなります。
問題,解答を実行ファイルに埋め込まずに
テキストで問題,解答ファイルを作成し(まだ暗号化していない)、
暗号化し(暗号化には別途プログラムを用意する必要あり)、
問題出題プログラムで復号化して読み込ませる。
というような考えです。

問題,解答ファイルの追加・変更を行いたい場合は
まだ暗号化していない元ファイルに対して行います。

また何かありましたら宜しくお願いいたします。
ありがとうございました。
King
ぬし
会議室デビュー日: 2008/06/20
投稿数: 284
投稿日時: 2009-03-17 13:50
コンパイルし直さずにに問題解答ファイルの置き換えだけで済む、
という事ですね。
見当違いの回答をしてしまい申し訳ありません。

スキルアップ/キャリアアップ(JOB@IT)