2011-12-14 3 views

答えて

3

あなたは* nixの上にある場合は、かなり良い方法はただのexec /のopen3/open4使用して細断処理コールに次のようになります。

Writing a file shredder in python or ruby?:この同様のポスト

`shred -fxuz #{filename}` 

http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html

チェック

+1

_「システムに存在しない可能性のある外部プログラムを避けたい」_私は、どのOSが使用されているかRubyが動作する場所であればどこでも実行できます。 – Phrogz

2

ちょうど

  1. は異なるが
+0

コードサンプルを表示しないのはなぜですか? –

3

を通過上ゼロでゴミや0xffの混合、

  • は、少なくとも現在のファイルサイズと等しい量
  • flush()close()
  • 繰り返しN回の一部のガーベージを書き込むファイルを開きこのようなものがあなたを起動させます:

    #!/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 
    

    se。

    さらに徹底させるために、バイトの0と1のビットを交互に使用する場合は、0xaa0x55を使用することもできます。 Random.rand(0xff)は、0から255までのランダムな値を与えます。

  • 関連する問題