フォーマットについて

[戻る]
cc 2008/02/05(火) 09:38:36
いつもお世話になっています。ccです。

今使っているラスターデータはTiff形式です。
データの保護するため、フォーマットを変更したいのですが、
目的としては、ラスターデータを自作アプリしか開かないということです。
もし、Tiffフォーマットはだめなら、BMP形式にします。
どういうふうにすればいいかわかりません。
以上、よろしくお願いします。

環境:.Net2002 WinXP MFC使用

たいちう 2008/02/05(火) 10:23:32
> データの保護するため、フォーマットを変更したいのですが、
> 目的としては、ラスターデータを自作アプリしか開かないということです。

うっかり開かれないようにする程度なら、拡張子を変更するだけで十分。

素人には開かれないようにするなら、バイナリデータとして読み込んで、
全ビットを反転させて保存すれば、多分十分。

誰にも絶対に開かれないようにするのは原理的に不可能だけど、
これに近いものを求めるならば、暗号について勉強してください。

cc 2008/02/05(火) 14:38:28
たいちうさん
ご返事ありがとう。

>うっかり開かれないようにする程度なら、拡張子を変更するだけで十分。
不十分です。

>素人には開かれないようにするなら、バイナリデータとして読み込んで、
>全ビットを反転させて保存すれば、多分十分。
今、CImageクラスを使っていますが、どうすれば以上のことをできるのでしょうか。
もっと具体的なことを教えていただけませんか。


>誰にも絶対に開かれないようにするのは原理的に不可能だけど、
>これに近いものを求めるならば、暗号について勉強してください。
今の段階には、考えていません。(時間がかかりそうです)


よろしくお願いします。

たいちう 2008/02/05(火) 15:47:49
「ラスタデータ.tiff」から、「反転したデータ.secret」への変換方法を説明します。

1.「ラスタデータ.tiff」をバイナリモードで開き1バイト読み込む。
2.ビットを反転する。
3.「反転したデータ.secret」をバイナリモードで新しく開き、
    反転したデータを1バイト書き込む。
4.「ラスタデータ.tiff」の最後のデータになるまでこれを繰り返す。

コピー機に「白黒反転コピー」という機能があるとして、
その機能を1ページずつ使って、1冊の本全部を反転しようというイメージです。
もっと効率の良い方法はいくらでもあるので工夫してください。
(見開き2ページずつ反転コピーするとか)

「反転したデータ.secret」を「ラスタデータ.tiff」に戻すのも、
同じ方法です。

後は、「ラスタデータ.tiff」は削除してしまい、
プログラム起動時に「反転したデータ.secret」を反転して、
秘密のフォルダにでも保存し、これを読込んでCImageを作りましょう。
そして、読み込んだ直後に「ラスタデータ.tiff」は削除します。
この辺の運用も、もっとマシな方法があるだろうから、
必要に応じて工夫してください。

参考 : 
    fopen, fgetc, fputc, fclose
    char c_dst = ~c_src;

cc 2008/02/07(木) 17:05:29
たいちうさん、
ご返事ありがとう。

1,2,3,4の手順で、私に対してかなり時間がかかりそうです。
(汗)

少し調べてから、質問をすると思っています。
その時よろしくお願いします。

どうもありがとうございました。

古いスレッドには追加発言できません。