文件粉碎的始终实现思路,在原有文件的大小范围上,重新写入零星的、随机的碎片。以此达到,无法再次恢复或者读取文件的作用。当然,并非所有的文件系统下都能有效,至少已经知道的在nfs和Journaling文件系统下世无效的。
<pre class="brush:php;"> function shred($filename,$strength=1,$fast=null){
$size = filesize($filename);
while($i < $strength){
$fh = fopen($filename,'w');
if($fast){
$str = chr(rand(0,255));
$str = str_repeat($str,$size);
}else{
$str = md5(rand(0,2147483647));
$n = 32;
while($n<$size){
$str .= md5($str);
$n+=32;
}
}
fwrite($fh,substr($str,0,$size));
fclose($fh);
++$i;
}
return true;
}
```
php 文件 粉碎 程序 代码 File shredding