Если безопасность важна для вас, то открытия файла для записи и повторного закрытия будет недостаточно. По крайней мере, часть информации все еще будет храниться на устройстве хранения и может быть найдена, например, с помощью утилиты восстановления диска.
Предположим, например, что файл, который вы стираете, содержит рабочие пароли и должен быть удален сразу после завершения текущей операции.
Нулевое заполнение файла после его использования помогает обеспечить уничтожение конфиденциальной информации.
В недавнем проекте мы использовали следующий код, который хорошо работает для небольших текстовых файлов. Перезаписывает существующее содержимое строками из нулей.
import os
def destroy_password_file(password_filename):
with open(password_filename) as password_file:
text = password_file.read()
lentext = len(text)
zero_fill_line_length = 40
zero_fill = ['0' * zero_fill_line_length
for _
in range(lentext // zero_fill_line_length + 1)]
zero_fill = os.linesep.join(zero_fill)
with open(password_filename, 'w') as password_file:
password_file.write(zero_fill)
Обратите внимание, что нулевое заполнение не гарантирует вашей безопасности. Если вы действительно обеспокоены, лучше всего заполнить нулями и , воспользовавшись специализированной утилитой, такой как File Shredder или CCleaner , чтобы очистить 'пустой 'место на вашем диске.