【发布时间】:2017-04-30 04:30:02
【问题描述】:
自从我开始使用 iPhone 以来,我已经有一段时间没有玩 C# 游戏了,但是你怎么能完全删除一个文件(所以它没有存储在内存中)并且无法恢复。如果不能永久删除,可以用随机数据打乱它,使其无法打开但仍然存在吗?
【问题讨论】:
标签: c#
自从我开始使用 iPhone 以来,我已经有一段时间没有玩 C# 游戏了,但是你怎么能完全删除一个文件(所以它没有存储在内存中)并且无法恢复。如果不能永久删除,可以用随机数据打乱它,使其无法打开但仍然存在吗?
【问题讨论】:
标签: c#
当然可以覆盖文件以使以前的内容无法恢复。但这必须由驱动器本身完成,以确保正确的块被覆盖...... C# 与文件系统交互,而不是物理块,因此不会提供任何安全性。
要求驱动器安全擦除某些内容的实际方法因接口而异(ATAPI 与 SATA,USB 大容量存储与 SCSI 与火线),而 C# 在此级别没有提供简单的命令方法。
【讨论】:
sdelete 在 c# 中通过 Process 运行此命令。
Process p = new Process();
p.StartInfo = new ProcessStartInfo( "cmd", "/c sdelete -p 1 -s -z -q -a 'path/to/director' )
{
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true
};
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
sdelete 可以是downloaded here
【讨论】: