开发者

Secure Wiping of files in Compact Framework

Given the path of a string i want to wipe out the contents of a file. The natural way I thought (which maybe incorrect) was to open a FileStream to the file and write gibberish (random data perhaps taken from a RNGCryptoServiceProvider) to it. And then perhaps do this several times and then delete the file.

My problem is that while this may look logically correct, i read up on another blog that Windows might actually choose to write the file to a different place in the hard disk.

Is that the case in Windows Mobile? Will this actually be a problem? Does this writing to a d开发者_如何学Pythonifferent location in the hard disk apply to even flash based (SD etc) cards ?


I've not personally done this, but you will probably need to use the low-level FLASH driver IOCTLs to do this correctly.

http://msdn.microsoft.com/en-us/library/aa927166.aspx

I think IOCTL_FMD_RAW_WRITE_BLOCKS looks particularly useful.

-PaulH


Another possibility that may work would be to erase the file normally, then use the defragment APIs to wipe ALL of the freespace on your flash. Since you're wiping everything, it won't be necessary to know exactly where on the disk your file was. But, this will wear out your flash drive more quickly. The C# method is detailed in this blog post: http://blogs.msdn.com/b/jeffrey_wall/archive/2004/09/13/229137.aspx

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜