数据加密的问题,为什么总出错呀

wq_2001 2003-01-09 02:22:47
program Crypt; //这句是什么意思呀,(我是新手,我不太理解)
uses WinCRT; //还有这句是什么意思呀,(我是新手,我不太理解)

const
C1 = 52845;
C2 = 22719;
function Encrypt(const S: String; Key: Word): String;
var
I: byte;
begin
Result[0] := S[0];//到这句总有错,告诉我是怎么回事?(我是新手,我不太理解)
for I := 1 to Length(S) do begin
Result[I] := char(byte(S[I]) xor (Key shr 8));
Key := (byte(Result[I]) + Key) * C1 + C2;
end;
end;

function Decrypt(const S: String; Key: Word): String;
var
I: byte;
begin
Result[0] := S[0];
for I := 1 to Length(S) do begin
Result[I] := char(byte(S[I]) xor (Key shr 8));
Key := (byte(S[I]) + Key) * C1 + C2;
end;
end;

var
S: string;
begin
Write('>');
ReadLn(S);
S := Encrypt(S,12345);
WriteLn(S);
S := Decrypt(S,12345);
WriteLn(S);
end.

...全文
57 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jiasong 2003-01-09
  • 打赏
  • 举报
回复
字符串的索引是从1开始的应写成Result[1] := S[1];//
idilent 2003-01-09
  • 打赏
  • 举报
回复
出错的原因时还没有给result分配长度就使用了
idilent 2003-01-09
  • 打赏
  • 举报
回复
这是一个控制台程序,第一行程序的主体部分,第二句是引用一个单元。建议你看一些入门的书之后再研究代码

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧