File shredding (secure deletion) algorithm
up vote
2
down vote
favorite
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!"
python file file-system
add a comment |
up vote
2
down vote
favorite
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!"
python file file-system
add a comment |
up vote
2
down vote
favorite
up vote
2
down vote
favorite
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!"
python file file-system
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!"
python file file-system
python file file-system
edited 36 mins ago
Jamal♦
30.2k11115226
30.2k11115226
asked Jan 27 at 13:44
scripter
514
514
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Code Review Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f186130%2ffile-shredding-secure-deletion-algorithm%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown