hFile := CreateFile(Pchar(fileName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING,
FILE_ATTRIBUTE_Normal, 0);
if hFile <> INVALID_HANDLE_VALUE then //非法句柄
begin
size := GetFileSize(hFile, nil);
SetFilePointer(hFile, 0, nil, FILE_BEGIN);
ReadFile(hFile, buf, size,nil);
...
...
... 字符转换
WriteFile(hFile, buf,Size, nil);
SetFilePointer(hFile, 0, nil, FILE_END);
// 字符转换完成后,在文件后面增加6位密钥
WriteFile(hFile, my_key, 6, readSize, nil);
SetEndOfFile(hFile);
end;
CloseHandle(hFile);
过程大概如上,给一个文件转换后,在增加6位转换密钥,现在发现转换过程中有个问题,有时候会出现转换完成了,但是密钥加不上去的情况,也就是说,好像有时候前面加密了,但密钥没加上去,有时候密钥上去了,但前面没加密,请教,如何保证其过程的完整性?
FILE_ATTRIBUTE_Normal, 0);
if hFile <> INVALID_HANDLE_VALUE then //非法句柄
begin
size := GetFileSize(hFile, nil);
SetFilePointer(hFile, 0, nil, FILE_BEGIN);
ReadFile(hFile, buf, size,nil);
...
...
... 字符转换
WriteFile(hFile, buf,Size, nil);
SetFilePointer(hFile, 0, nil, FILE_END);
// 字符转换完成后,在文件后面增加6位密钥
WriteFile(hFile, my_key, 6, readSize, nil);
SetEndOfFile(hFile);
end;
CloseHandle(hFile);
过程大概如上,给一个文件转换后,在增加6位转换密钥,现在发现转换过程中有个问题,有时候会出现转换完成了,但是密钥加不上去的情况,也就是说,好像有时候前面加密了,但密钥没加上去,有时候密钥上去了,但前面没加密,请教,如何保证其过程的完整性?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货