是否有宝石或安全擦除Ruby文件的方法?我想避免系统中可能没有的外部程序。
通过“安全擦除”我指的是覆盖文件内容。
答案 0 :(得分:4)
这样的事情会让你开始:
#!/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
它应该让你接近。
为了更加彻底,您还可以使用0xaa
和0x55
在字节中交替0和1位。 Random.rand(0xff)
将为您提供0到255之间的随机值。
答案 1 :(得分:3)
如果您使用* nix,一个很好的方法是使用exec / open3 / open4调用shred:
`shred -fxuz #{filename}`
http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html
检查此类似帖子:
答案 2 :(得分:2)
只是
flush()
和close()
0xff