Есть ли драгоценный камень или средство безопасного стирания файла в Ruby? Я бы хотел избежать внешних программ, которые могут отсутствовать в системе.Как я могу безопасно стереть файл?
«secure erase» Я имею в виду перезапись содержимого файла.
Есть ли драгоценный камень или средство безопасного стирания файла в Ruby? Я бы хотел избежать внешних программ, которые могут отсутствовать в системе.Как я могу безопасно стереть файл?
«secure erase» Я имею в виду перезапись содержимого файла.
Если вы на * Nix, довольно хороший способ будет просто позвонить измельчать с помощью EXEC/open3/open4:
`shred -fxuz #{filename}`
http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html
Проверьте это аналогично сообщению:
только
flush()
и close()
0xff
«S на различных проходитПочему бы не показать образец кода? –
Что-то вроде этого позволит вам начать:
#!/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
Это должно получить вас clo как таковые.
Для более тщательной обработки вы также можете использовать 0xaa
и 0x55
для чередования 0 и 1 бит в байте. Random.rand(0xff)
даст вам случайное значение от 0 до 255.
_ «Я бы хотел избежать внешних программ, которые могут отсутствовать в системе». _ Я предполагаю, что это означает, что нельзя предположить, какая ОС используется, но желательно для запуска везде, где работает Ruby. – Phrogz