如何对文件进行加密?急啊!(20分)

  • 主题发起人 主题发起人 black_yin
  • 开始时间 开始时间
B

black_yin

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在要对一个文件加密,应该怎么写法呢?
比如说是个文本文件,或是INI文件。
 
给个最原始的
取反运算
//加密INI文件
procedure EncryptIni;
var
FFS: TFileStream;
FMS: TMemoryStream;
i: Integer;
FContentArray: Array[0..10240] of Byte;
begin
if FileExists(ExtractFilePath(Application.ExeName) + 'bin/dealcnfg.ini') then
begin
FFS := TFileStream.Create(ExtractFilePath(Application.ExeName)
+ 'bin/dealcnfg.ini', fmOpenRead);
FFS.Position := 0;
FFS.Read(FContentArray, FFS.Size);
for i := 0 to FFS.Size-1 do
FContentArray := Not FContentArray;
FMS := TMemoryStream.Create;
FMS.Write(FContentArray, FFS.Size);
FMS.SaveToFile(ExtractFilePath(Application.ExeName) + 'bin/dealcnfg.bin');
FMS.Clear;
FMS.Free;
FFS.Free;
DeleteFile(ExtractFilePath(Application.ExeName) + 'bin/dealcnfg.ini');
end;
end;

//解密INI文件
procedure UnEncryptIni;
var
FFS: TFileStream;
FMS: TMemoryStream;
i: Integer;
FContentArray: Array[0..10240] of Byte;
begin
if FileExists(ExtractFilePath(Application.ExeName) + 'bin/dealcnfg.bin') then
begin
FFS := TFileStream.Create(ExtractFilePath(Application.ExeName)
+ 'bin/dealcnfg.bin', fmOpenRead);
FFS.Position := 0;
FFS.Read(FContentArray, FFS.Size);
for i := 0 to FFS.Size-1 do
FContentArray := Not FContentArray;
FMS := TMemoryStream.Create;
FMS.Write(FContentArray, FFS.Size);
FMS.SaveToFile(ExtractFilePath(Application.ExeName) + 'bin/dealcnfg.ini');
FMS.Free;
FFS.Free;
end;
end;
 
最简单的,CreateFile,ReadFile,然后用异或或者别的随便你想要的算法来加密,然后写入保存即可.
 
我说的不是对文件内容加密,而是要在打开文件的时候弹出对话框要求输入密码后才能打开文件。
 
明白!但是不知道怎么做,呵呵
 
各位看看啊,急啊!
 
文本文件这种东东你不对内容加密却想打开时弹出密码框,这恐怕难以实现吧?除非你能让系统保存只要你指定的程序才能打开文本文件,不过,我想不出怎么实现?!
 
用rar压缩,设个密码就OK,否则你就需要写驱动。
 
多人接受答案了。
 

Similar threads

后退
顶部