2

私は自分のコンピューターにファイル シュレッダーを持っていますが、学習のために Java でファイル シュレッダーを作成できるかどうか知りたいと思っていました。しかし、それがどのように機能するのか正確にはわからないので、これが機能すると思います。間違っているところを修正してください。

したがって、基本的にはファイルのバイトを暗号化し続け、単純に削除します。しかし、それは私には簡単すぎるように思えるので、何かを見落としているか、完全に間違っているに違いありません。仕組みを調べてみましたが、いつもソフトウェアの広告が表示されます。

返信ありがとうございます

4

4 に答える 4

4

シュレッディングは、ファイルシステムとメディアに大きく依存することに注意してください。ログベースのファイルシステムまたはスマート (書き込みレベリング) フラッシュに格納されたファイルシステム上のファイルを「シュレッド」しようとしても、あまり効果がありません。少なくとも、古いデータが一度上書きされることを期待して、デバイスを完全に埋めるのに十分なデータを書き込む必要があります。多くの場合、いくつかの小さなファイルを書き込む必要があり、FS がいっぱいになったら、1 つを削除してから新しいファイルを書き続けて、すべての予約済みスペースも上書きされるようにする必要があります。そうすれば、おそらくかなり安全になります。おそらく。

おそらく、ストレージ メディア/FS が、ブロックが失敗している (または比較的使用量が多すぎる) と判断し、代わりにディスクの他の部分を代用してブロックをマップする可能性があるためです。もちろん、これはブロックごとの処理なので、これよりも大きなファイルは再構築される可能性が低くなります。

于 2011-06-05T01:14:35.283 に答える
1

少なくとも、ソフトウェア ファイル シュレッダーは、ファイルを保持していた物理メディアに 0 を書き込む必要があります。

于 2011-06-05T00:42:48.090 に答える
1

上書きすると問題は解決しますが、ファイルシステム/プラットフォームに依存します (以下のコメントを参照)。.NET に関する関連する質問を次に示します (Java とあまり変わらない) Shredding files in .NET

于 2011-06-05T00:45:50.187 に答える
0

あなたができることは、ファイルから一口ずつ取得し、それらを0に設定し、それらを忘却、別名ゴミ箱に送ることです:)

于 2011-06-05T01:11:59.767 に答える