私は C# に比較的慣れていないので、wxMaxima で設計したテキスト暗号化アルゴリズムを、Visual Studio フォームを使用して C# のバイナリ暗号化プログラムに適応させようとしています。私はバイナリ ファイルの読み取り/書き込みに慣れていないため、ファイル ストリームを読み書きしようとすると何が起こるかについての知識が不足しています。
たとえば、これまで行ってきたようにテキスト ファイルを暗号化する代わりに、実行可能ファイルまたはその他の形式のバイナリ ファイルを暗号化するとします。
ここに私が理解できないいくつかの質問があります:
ファイル ストリームを開いて binaryreader を使用すると、ファイル内のすべての完全な複製が読み込まれますか? たとえば、ファイル全体を読み取り、元のファイルを削除してから、古い名前で新しいファイルを作成し、バイナリ ストリーム全体を書き戻せるようにしたいと考えています。これで元のファイルが正確に再現されますか?それとも、別の方法で説明しなければならない何らかの破損が発生するのでしょうか?
これは暗号化プログラムであるため、元のファイルを削除する前に低レベルの「フォーマット」を行う機能を追加して、ハードディスクの物理データを組み合わせても理論的にはアクセスできないようにしたいと考えていました。binarywriter を使用して元のファイルの一部を意味不明な部分で上書きすると、それはハードディスクの同じ場所に配置されますか、それともファイルが断片化され、実際には FAT を介してハードディスクの他の部分にリダイレクトされますか? 明らかに、ハードディスク上の元のクラスターを上書きしないのであれば、元のファイルを意味のないもので上書きしても意味がありません。