Написание файла shredder в python или ruby?

В попытке изучить python и / или ruby, мне было интересно, как будет использоваться файловый шредер? Я хотел бы, чтобы он взял файл в качестве аргумента, а затем применил алгоритм, чтобы сделать этот файл неустранимым. Возможно, позже будет добавлена ​​поддержка нескольких файлов или даже целых каталогов.

2 Solutions collect form web for “Написание файла shredder в python или ruby?”

Так же, как предупреждение, измельчители обычно будут иметь разные уровни успеха в современных системах благодаря журналам, файловым системам с копированием на запись, выравниванию износа (flash) и другим методам, используемым в современной системе. Мог бы проверить википедию на некоторых подводных камнях.


Короче говоря, вам нужно будет писать непосредственно поверх существующих данных. Существует несколько разных шаблонов различного уровня безопасности, но часто, если вы перезаписываете файл примерно в 25 раз случайными данными (округляя до следующего размера блока), файл должен быть полностью невосстановимым (по крайней мере, эта копия данных). Существуют и другие методы, которые могут безопасно перезаписать его за меньшее количество проходов (3 прохода, случайные, одно, а затем нули также работают прилично).

Поскольку это учебное упражнение, а не профессиональная попытка защитить данные. Как насчет этого: 1. Откройте длину файла. 2. Напишите 0 на одну и ту же длину файла. 3. Сохраните файл. 4. Удалите файл.

Затем создайте еще одну программу, которая пытается восстановить файл.

Но да, если вы хотите сделать что-то профессиональное, а не просто упражнение, посмотрите на ответ кицунэ.

Interesting Posts

Как передать массивы в Scipy Interpolate RectBivariateSpline?

Можете ли вы объяснить закрытие (как они относятся к Python)?

Ошибка Django: нет FlatPage соответствует заданному запросу

Создайте GQL-запрос (для Google App Engine), который имеет условие для ReferenceProperty

Как вы вызываете скрипт python внутри файла jar с помощью python?

Вычисление коэффициента корреляции между двумя многомерными массивами

matplotlib: значения смещения оси формата для целых чисел или определенного номера

Ошибка при подключении к базе данных Oracle из кода python в java (cx_Oracle)

Как импортировать данные из mongodb в pandas?

Django cache.set (), вызывающий дублируемую ключевую ошибку

Почему я не могу применить переход из функции pandas?

Учитывая большой список URL-адресов, какой способ проверить, какие из них активны / неактивны?

Принимать сервер Websocket на основе Python

Как установить CVXOPT с Enthought python (Canopy)

позволяют пользователям «расширять» функции API

Python - лучший язык программирования в мире.