1、传入字符串地址。
2、程序按地址对地址内的字符串进行加密。
3、加密完成返回加密后的字符串内容。
4、程序能够对加密后的字符串解密得到原来的字符串。

解决方案 »

  1.   

    我这里有一个对文件进行加密的类,想在该基础上修改。该类能对txt进行简单加密、解密。代码如下:unit EncodStr;interfaceuses
      Classes;type
      TEncodedStream = class (TFileStream)
      private
        FKey: Char;
      public
        constructor Create(const FileName: string; Mode: Word);
        function Read(var Buffer; Count: Longint): Longint; override;
        function Write(const Buffer; Count: Longint): Longint; override;
        property Key: Char read FKey write FKey default 'A';
      end;implementationconstructor TEncodedStream.Create(const FileName: string; Mode: Word);
    begin
      inherited Create (FileName, Mode);
      FKey := 'A';
    end;function TEncodedStream.Write(const Buffer;Count: Longint): Longint;
    var
      pBuf, pEnc: PChar;
      I, EncVal: Integer;
    begin
      GetMem (pEnc, Count);
      try
        pBuf := PChar (@Buffer);
        for I := 0 to Count - 1 do
        begin
          EncVal := ( Ord (pBuf[I]) + Ord(Key) ) mod 256;
          pEnc [I] := Chr (EncVal);
        end;
        Result := inherited Write(pEnc^, Count);
      finally
        FreeMem (pEnc, Count);
      end;
    end;function TEncodedStream.Read(var Buffer; Count: Longint): Longint;
    var
      pBuf, pEnc: PChar;
      I, CountRead, EncVal: Integer;
    begin
      GetMem (pEnc, Count);
      try
        CountRead := inherited Read (pEnc^, Count);
        pBuf := PChar (@Buffer);
        for I := 0 to CountRead - 1 do
        begin
          EncVal := ( Ord (pEnc[I]) - Ord(Key) ) mod 256;
          pBuf [I] := Chr (EncVal);
        end;
      finally
        FreeMem (pEnc, Count);
      end;
      Result := CountRead;
    end;end.