【開発】DataSetのファイル保存をちょっとだけ見難くする
Datasetには、WriteXMLというとっても便利なシリアライザが付いてるのですが、案の定、テキストファイルで普通に見れちゃいます。
これをあえて、見難くします。
もちろん暗号化という方法もありますが、ここでは簡単にですが、見難くしてシリアライズ化できる方法をば。
やってみたのは、まずバイナリ保存です。
public static bool SaveCompressFile(object obj, string path) { using (FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write)) { using (DeflateStream ds = new DeflateStream(fs, CompressionMode.Compress, true)) { try { BinaryFormatter bf = new BinaryFormatter(); //シリアル化して書き込む bf.Serialize(ds, obj); return true; } catch { return false; } } } }
(見辛くてすいません。PREのスタイル書かないと・・(;・∀・))
見ての通り、deflate圧縮にてコンプレスしてます。ファイルも小さくなるし、一石二鳥と。デシリアライズも同じように書けます(DeflateStreamの第三引数は不要)
ただ単純にバイナリ化しただけ(DeflateStreamが無いバージョン)では、バイナリなんですが・・見た目がXMLで保存されちゃってます(テキストエディタで開くと、表示は一部崩れてるが中身が見れる)
これに、圧縮掛けて、完全にテキストで見れないようにしただけ・・と。
.netでは公開鍵暗号化もできるので、本当に見せたくない時はそちらの方法を。
ディスカッション
コメント一覧
まだ、コメントがありません