ファイルを安全に細断処理するためにマネージ コードで使用できる SDK はありますか?
編集:これは、私が役立つGoogleで見つけることができる唯一のリンクです
編集:SDKまたはある種のCOMベースのコンポーネントのいずれか。
codeproject からのこのコードは、良い出発点になるかもしれません。
Eraserは何年も前から存在しており、System.Diagnostics.Process を使用して呼び出すか、少なくともそこでアルゴリズムを確認することができます。
過去数年間でテクノロジーが変化したため、たまたまこの回答を見たとき (なぜ回答が再び受け入れられなかったのですか?)、同様の質問を持つ他の人に最新情報を提供したいと思いました。
シュレッディングは、ファイルシステムとメディアに大きく依存することに注意してください。ログベースのファイルシステムまたはスマート (書き込みレベリング) フラッシュに格納されたファイルシステム上のファイルを「シュレッド」しようとしても、あまり効果がありません。少なくとも、古いデータが一度上書きされることを期待して、デバイスを完全に埋めるのに十分なデータを書き込む必要があります。
多くの場合、いくつかの小さなファイルを書き込む必要があり、FS がいっぱいになったら、1 つを削除してから新しいファイルを書き続けて、すべての予約済みスペースも上書きされるようにする必要があります。そうすれば、おそらくかなり安全になります。おそらく。
おそらく、ストレージ メディア/FS が、ブロックが失敗している (または比較的使用量が多すぎる) と判断し、代わりにディスクの他の部分を代用してブロックをマップする可能性があるためです。もちろん、これはブロックごとの処理なので、これよりも大きなファイルは再構築される可能性が低くなります。