{*******************************************************
* Standard Decryption algorithm - Copied from Borland *
*******************************************************}
FUNCTION Decrypt(const InSTRING:STRING; StartKey,MultKey,AddKey:INTEGER): STRING;
var
I : Byte;
BEGIN
Result := '';
for I := 1 to Length(InSTRING) do
BEGIN
Result := Result + CHAR(Byte(InSTRING[I]) xor (StartKey shr 8));
StartKey := (Byte(InSTRING[I]) + StartKey) * MultKey + AddKey;
END;
END;
如果现在decrypt(bcdef,1357,2,1);请问返回值是多少?
* Standard Decryption algorithm - Copied from Borland *
*******************************************************}
FUNCTION Decrypt(const InSTRING:STRING; StartKey,MultKey,AddKey:INTEGER): STRING;
var
I : Byte;
BEGIN
Result := '';
for I := 1 to Length(InSTRING) do
BEGIN
Result := Result + CHAR(Byte(InSTRING[I]) xor (StartKey shr 8));
StartKey := (Byte(InSTRING[I]) + StartKey) * MultKey + AddKey;
END;
END;
如果现在decrypt(bcdef,1357,2,1);请问返回值是多少?
加密过程为:
把每一个待加密字符转换为二进制,和StartKey(做了简单移位)异或的值重新转化为字符。
另外,增加了一点复杂度,每次还要根据MultKey和AddKey修改StartKey