Rubyでファイルを安全に消去するGemまたは手段はありますか? システムに存在しない可能性のある外部プログラムは避けたいと思います。
「安全な消去」とは、ファイルの内容を上書きすることを指しています。
Rubyでファイルを安全に消去するGemまたは手段はありますか? システムに存在しない可能性のある外部プログラムは避けたいと思います。
「安全な消去」とは、ファイルの内容を上書きすることを指しています。
このようなものがあなたを始めさせます:
#!/usr/bin/env ruby
abort "Missing filename" if (ARGV.empty?)
ARGV.each do |filename|
filesize = File.size(filename)
[0x00, 0xff].each do |byte|
File.open(filename, 'wb') do |fo|
filesize.times { fo.print(byte.chr) }
end
end
end
それはあなたを近づけるはずです。
より完全にするために、バイト内の 0 と 1 のビットを交互に0xaa
使用することもできます。0 から 255 までのランダムな値が返されます。0x55
Random.rand(0xff)
*nix を使用している場合は、exec/open3/open4 を使用して shred を呼び出すのが非常に良い方法です。
`shred -fxuz #{filename}`
http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html
この同様の投稿を確認してください:
ただ
flush()
とclose()
0xff
N回繰り返し、異なるパスでガベージをゼロと で混ぜます