用TFileStream可以实现文件的读写,用XOR方式即可实现加解密。
下面是最简单的XOR字符串加解密的函数(加解密都用它的):
function StrXor(const SrcStr,KeyStr:String):String;
var
i,n:Integer;
begin
Result:=SrcStr;
//异或操作的长度为两个字符串中短的那个的长度,以免发生越界
if Length(SrcStr)>Length(KeyStr) then
n:=Length(KeyStr)
else
n:=Length(SrcStr);
for i:=1 to n do //xor
Byte(Result):=Byte(SrcStr) xor Byte(KeyStr);
end;
使用例子:
procedure TForm1.Button4Click(Sender: TObject);
var
mstr:String;
begin
mstr:=StrXor('user','name');
Caption:=StrXor(mstr,'name');
end
将文件利用TFileStream读出来,然后一段一段的转为String,利用函数和Key加密,存到
目标TFileStream中,直到文件结束——搞定。
可以参考帖子: http://www.delphibbs.com/delphibbs/dispq.asp?lid=286892