SQL SERVER 数据库备份后成一个文件,请问怎么样可以对此文件加密呢?

解决方案 »

  1.   

    只加密文件头。
    var F :File
        P:varry [0..20] of Char;
      SaveDialog1.Filter:='文本文件 (*.txt)|*.TXT';
      if not SaveDialog1.Execute then  exit;
      FileName:=SaveDialog1.FileName;
       if UpperCase(ExtractFileExt(FileName))<>'.TXT' then  FileName:=FileName+'.Txt';
      AssignFile(F,FileName);
      ReSet(F);
      P:=Common.enCrypt(BlockRead(F,P,20));
      seek(F,0);
      BlockWrite(F,P,20);
      FileClose(F);  两个加密解密算法
    procedure TCommon.Encrypt(var S:array of char;Key:Word);
    Var I:integer;
    begin
      for I :=1 to high(S) do
      begin
        S[I]:=Char(byte(S[I]) Xor (Key shr 8)) ;
        Key:=(byte(S[I])+Key)*C1+C2;
      end;
    end;
    procedure TCommon.Decrypt(var S:array of char;key:word);
    var  I:integer;
         p:char;
    begin
      For I:= 1 to Length(S) do
      begin
        p:=S[i];
        S[I]:=Char(byte(S[I]) Xor (Key shr 8));
        key :=(byte(p)+Key)*C1 +C2;
      end;
    end;不好意思,未经调试,仅供参考。
      

  2.   

    类型一定要用FILE不能用TEXTFILE类型,读文件读的是二进制。