注册 登录
编程论坛 Delphi论坛

向大家请教这个加密算法

Ryan100 发布于 2010-04-19 20:56, 480 次点击
function  jiami(s:string):string
type   PWORD=^WORD;
var    Len:integer;
       i:integer;
       v:DWORD;
       P:PChar;
       buffer:string[255];
begin
    buffer:=s;
    Len:=Length(buffer)+1;
    if (Len mod 2)<>0 then  inc(Len);
    if (Len<10) then Len:=10;
    i:=Length(Buffer);
    if i=0 then
       buffer:=inttostr(GetTickCount)
    esle
       while length(buffer)<10 do
          buffer:=buffer+buffer;
     setlength(Buffer,i);?????
     Result:='';
     P:=PChar(@Buffer[0]);???????
     for i:=1 to len div 2 do
     begin
        V:=34567+PWORD(P)^;??????
        P:=P+2;
        Result:=Result+Format('%5.5d',[V]);
     end;
end;
请各位高手以‘s’为参数为例具体跟我讲讲问号处的意思,小弟实在想不明白。。。。谢啦
1 回复
#2
shuang2009112010-04-22 16:34
setlength(Buffer,i);  //设置Buffer的大小
P:=PChar(@Buffer[0]);   //取Buffer第一位的地址并转换成pchar类型
V:=34567+PWORD(P)^;   //把P转换成PWORD类型然后取它内容
1