1、传入字符串地址。
2、程序按地址对地址内的字符串进行加密。
3、加密完成返回加密后的字符串内容。
4、程序能够对加密后的字符串解密得到原来的字符串。
2、程序按地址对地址内的字符串进行加密。
3、加密完成返回加密后的字符串内容。
4、程序能够对加密后的字符串解密得到原来的字符串。
解决方案 »
- 求Delphi的右侧悬浮窗口实现,内附图。最好是用VCL实现的。
- Delphi6下 编写的确良ISAPI程序如何分批取数据
- 那个多线程的临界区不明白
- delphi2005或者Delphi9什么时候发布???
- fastreport里,中文折行有时会出乱码,疯了我
- BDE配置中:内部错误,hostdef内部扩展名不存在,这是什么错误?如何解决?
- 關於Excel單元格對齊方式???
- 建立和使用传统函数的问题。
- 赋值为什么出错,
- 我下载了一个Delphi5开发人员指南.rar,但不知道用什么阅览器
- delphi 将dbf文件导入SqlServer2000数据库
- 通过发送消息来传递字符串,接收方如何获得字符串?
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.