2
\$\begingroup\$

Does anyone see anything wrong with this? I was considering using something like srm or wipe and use os.system to call it from Python code. Should I do that?

My main concern is drives and filesystems that use wear leveling. But even if the program overwrites a portion of the file that should render it useless right? And with the file renamed, there should be no way to tell what the file was.

import random
import os

def wipe(f, passes=30):
    if not os.path.isfile(f):
        return "Could not find the specified file!"
    with open(f, "ba+") as f2w:
        size = f2w.tell()
        for i in range(passes):
            f2w.seek(0)

            f2w.write(os.urandom(size))
    new_name = str(random.randint(1000,1000000000000))
    os.rename(f, new_name)
    os.remove(new_name)
    return "Success!"
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.