移交笔记本电脑前如何安全地删除个人数据 您所在的位置:网站首页 二手电脑出售前怎么保护个人隐私 移交笔记本电脑前如何安全地删除个人数据

移交笔记本电脑前如何安全地删除个人数据

2024-07-17 19:41| 来源: 网络整理| 查看: 265

搞IT的人都会遇见的问题,特别是有用了公司的笔记本或台式机电脑,自己长期在上面保存了大量的信息文件,突然要换机器或离职移交时,除了要把数据备份,还有一个就是要彻底地删除原有数据。

一般的做法是格式化硬盘并重装系统。但格式化时,我们一般都不做低级格式化,而是快速格式化或普通格式化(即高级格式化)。我个人理解快速格式化是标识全部扇区均可用,普通格式化是会扫描一下每个扇区,但并不会重写,因此这两者都不会彻底清除数据,只是重写了FAT表,数据内容仍在,仍然可以用软件恢复。如果要彻底清除,则需要把所有扇区重写一次,全部写成0或其它随机值。

因此,比较安全的删除步骤如下:

1.格式化硬盘;

2.重装操作系统;

3.把所有扇区重写入一遍。

据说理论上要真正地防止恢复,需要反复往一个磁道扇区里写入随机数据,并至少写入6次以上,这样就连FBI都无法恢复了;否则的话,即使已经重写过数据,利用专门的设备,还是有办法读出磁盘中残留的磁信号,从而恢复出数据来的。

因此,有很多专门做彻底删除的软件出现,功能强大,使用也不简单。其实我们自己要做的话,只要往磁盘里面拷文件就行了,写文件的过程就会重写磁道扇区了。

当然了,一个个文件这样拷贝还是比较麻烦的,一边读一边写,速度也较慢。像我们这些搞编程的,其实自己写一个抹除程序也很容易,比如我就写过一个,抹除的速度很快。界面如下:

该程序已上传到这里:http://download.csdn.net/source/3095713。

基本原理就是申请一大片内存,填入随机值,然后大块大块地写磁盘文件,基本上一分钟能抹掉几个G的空间。默认只写入一次。如果你觉得不够,可自行把生成的文件删除,然后再重新生成多几次。

GO按钮的代码如下:

 

procedure TfrmMain.btnGoClick(Sender: TObject); var   FS: TFileStream;   I, J: Integer;   BufSize: Integer;   Buffer: PChar;   Sz, szMax, icheck: int64;   fn: string; begin   I := 0; //初始化   icheck := 0;   BufSize := 1024 * StrToIntDef(edtBufferSize.Text, 1024);   szMax := 1024 * 1024 * StrToIntDef(edtFileSize.Text, 1024);   btnGo.Enabled := False;   btnCancel.Enabled := True;   FCanceled := False;   GetMem(Buffer, BufSize); //申请内存   try     while True do     begin       if ckbRandom.Checked then //随机填充       begin         Randomize;         for J := 1 to BufSize do           PChar(Buffer)[J] := Char(Random(256));       end;       sz := 0;       repeat //获取一个可用的文件名         Inc(I);         fn := Format(edtFileName.Text, [I]);       until not FileExists(fn);       StatusBar1.SimpleText := 'Current file: ' + fn;       StatusBar1.Refresh;       FS := TFileStream.Create(fn, fmCreate); //创建文件并不断写入       try         while sz < szMax do         begin           FS.WriteBuffer(Buffer^, BufSize);           sz := sz + BufSize;           icheck := icheck + BufSize;           if icheck > 30 * 1024 * 1024 then //每写入30M则更新一下进度并检查中止           begin             icheck := 0;             StatusBar1.SimpleText := 'Current file: ' + fn + ' ' + FloatToStr(sz / 1024 / 1024) + 'MB';             Application.ProcessMessages;             CheckAbort(' ');             if FCanceled then               Abort;           end;         end;       finally         FS.Free;       end;     end;   finally     FreeMem(Buffer, BufSize);     btnGo.Enabled := True;     btnCancel.Enabled := False;   end; end;

 

总共不到100行代码,写入后找个文件来看一下内容:

可以看到,确实是填充了随机内容。虽然不是特别随机,也没有写够6次以上,但已经无法用软件恢复,对普通人来说已经足够安全了。

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有