Написание файлового шредера на python или ruby?
В попытке изучить Python и / или Ruby, мне было интересно, как будет реализован файл-шредер? Я хотел бы, чтобы он принимал файл в качестве аргумента, а затем использовал алгоритм, чтобы сделать этот файл невосстановимым. Возможно, позже добавится поддержка нескольких файлов или даже целых каталогов.
2 ответа
Так же, как предупреждение, измельчители, как правило, будут иметь различные уровни успеха в современных системах благодаря журналам, файловым системам с копированием при записи, выравниванию износа (флэш-память) и другим методам, используемым в современной системе. Могу проверить Википедию на некоторые подводные камни.
Короче говоря, вам нужно было бы иметь возможность писать прямо поверх существующих в настоящее время данных. Существует несколько различных шаблонов с различными уровнями безопасности, но часто, если вы перезаписываете файл примерно 25 раз случайными данными (округляя до следующего размера блока), файл должен быть полностью невосстановим (по крайней мере, эта копия данных). Существуют и другие методы, которые могут надежно перезаписать его за меньшее количество проходов (3 прохода, случайный, один, затем нули, а также неплохо работает).
Поскольку это учебное упражнение, а не профессиональная попытка защитить данные. Как насчет этого: 1. Узнайте длину файла. 2. Запишите 0 в ту же длину файла. 3. Сохраните файл. 4. Удалите файл.
Затем создайте другую программу, которая пытается восстановить файл.
Но да, если вы хотите сделать что-то профессиональное, а не просто упражнение, посмотрите на ответ Кицунэ.