C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: c#でcsvファイルを暗号化?バイナリ化したい


(過去ログ 133 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■78350 / inTopicNo.1)  c#でcsvファイルを暗号化?バイナリ化したい
  
□投稿者/ トンカツ (1回)-(2016/01/10(Sun) 22:39:35)

分類:[.NET 全般] 

C#を勉強中です。Windows Formでクイズゲームを作ろうと思っています。

例えば、下記のようなCSVファイルがあったとします。

ID,Question,Select1,Select2,Select3,answer
1,自由の女神はどこの国にある?,アメリカ,フランス,日本,1

特定の行を読み取って、問題を表示。回答を表示といったことはできます。

ただ、これはCSVファイルを読み取っているので、回答者がこのCSVファイルを開いて答えを知る事は簡単です。

やりたい事は、CSVファイルを暗号化?バイナリー化?とでもいうんでしょうか。回答者がそのファイルを開いても、答えがわからないというような事をしたいです(バイナリエディタで開いて答えを知るといったことは考えないとします)。

どのような方法が考えられるでしょうか?このようなクラスから調べてみては?といったご回答でも結構ですのでよろしくお願いいたします。
引用返信 編集キー/
■78351 / inTopicNo.2)  Re[1]: c#でcsvファイルを暗号化?バイナリ化したい
□投稿者/ 774RR (360回)-(2016/01/11(Mon) 06:18:53)
どんな暗号化をしても、その技術がある人間が本気になれば必ず復号できる・・・という点はOK?
それは承知ということなら、やりかたはいくつでもあって

1.ファイルの各バイトにちょっとした可逆な演算を加える
書き込み時に XOR 255 とか +1 とか
 読み取り時に XOR 255 とか -1 とか
2.ZIP 等で圧縮してしまう

あたりでどうだろう。

1. の任意演算は、そういうクラスを Microsoft が用意してないから自分で作るといい
2. ならば System.IO.Compression 名前空間から適当に GZipStream とか
http://dobon.net/vb/dotnet/file/compressfile.html

引用返信 編集キー/
■78495 / inTopicNo.3)  Re[1]: c#でcsvファイルを暗号化?バイナリ化したい
□投稿者/ Jitta (169回)-(2016/01/19(Tue) 21:50:24)
No78350 (トンカツ さん) に返信
> ID,Question,Select1,Select2,Select3,answer
> 1,自由の女神はどこの国にある?,アメリカ,フランス,日本,1

 コンピュータでよく使われる乱数は、シードが同じなら同じ数を返します。
なので、シードを決めて乱数を作り、その数に答えを配置するというのはどうでしょう。
たとえば、シードが5の時に 2, 1, 1, 3, ... という乱数が得られたら、
Q1は2が正答、Q2は1が正答、Q3は1が正答、Q4は3が正答、...となるように配置します。
実行時にも、シードに5を使って乱数を生成すると、正答が得られます(順番はあわせなければなりません)。
すると、CSVには答えを書かなくても良いので見られてもかまわない、ということになります。
もちろん、CSVに書いてある順序を元に答えを得るので、表示する時には順番を変えるのも可能です。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -