聯(lián)眾密碼的逆向算法公布
function Decode(aValue:String):string;
var
iValue:array [0..63]of Byte;
i,j,k,iAL,iCL:Byte;
Pass:array[0..15]of char; //密碼最長不超過15位
begin
//str to int
i:=0;
j:=0;
while (1=1) do
begin
//這里需要改進(jìn)
j:=Pos(' ',aValue);
if j<=0 then
begin
iValue[i]:=strToint(aValue);
break;
end;
iValue[i]:=StrToInt(Copy(aValue,1,j-1));
inc(i);
aValue:=copy(aValue,j+1,length(aValue)-j);
end;
//xor
for i:=63 downto 1 do
iValue[i-1]:=iValue[i-1] xor iValue[i];
//
for i:=15 downto 1 do
begin
iAL:=iValue[i];
iCL:=iAL;
ASM
MOV AL,iAL
SAR AL,4
AND AL,$F
MOV iAL,AL
end; //直接用SHR也可以,不過反匯編是SAR,pascal里沒有SAR
j:=iAL+$30;
iAL:=iValue[j];
iCL:=iCL and $f;
iCL:=iValue[0]+iCL;
k:=iCL;
iCL:=iValue[k];
iValue[j]:=iCL;
iValue[k]:=iAL;
end;
i:=iValue[0];
j:=1;
while iValue[i]<>0 do
begin
Pass[j-1]:=chr(iValue[i]);
Inc(i);
Inc(j);
end;
Result:=Pass;
end;
相關(guān)文章
局域網(wǎng)“內(nèi)鬼” 非授權(quán)DHCP服務(wù)器防范策略
本篇文章主要介紹了局域網(wǎng)“內(nèi)鬼” 非授權(quán)DHCP服務(wù)器防范策略,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2007-12-12