在InstallShield中难免会对一些东东做加密操作,下面的方法就是一个简单的加密解密方法。这个方法对字符串中的每个字符加17,解密时同样减17:
加密:
function STRING String2Password (szName)
STRING szRight, szLeft, szAnswer, dummy;
CHAR cChar;
NUMBER nLength;
begin
dummy = "JOQWE";
szAnswer = "";
nLength = StrLength(szName);
while (nLength > 0)
StrSub(szRight, szName, 1, (nLength-1));
StrSub(szLeft, szName, 0, 1);
cChar = STRTOCHAR(szLeft);
cChar = cChar + 17;
szName = szRight;
CharReplace(szLeft,STRTOCHAR(szLeft),cChar,0);
szAnswer = szAnswer + szLeft;
nLength = nLength - 1;
endwhile;
szAnswer = szAnswer + dummy;
return szAnswer;
end;
解密:
function STRING Password2String (szPassword)
NUMBER nLength, iCount;
STRING szLeft, szRight, szAnswer;
CHAR cChar;
begin
szAnswer = "";
nLength = StrLength(szPassword);
for iCount = 1 to 4
StrSub(szRight, szPassword, 1, (nLength-1));
StrSub(szLeft, szPassword, 0, 1);
cChar = STRTOCHAR(szLeft);
cChar = cChar - 17;
szPassword = szRight;
CharReplace(szLeft,STRTOCHAR(szLeft),cChar,0);
szAnswer = szAnswer + szLeft;
nLength = nLength - 1;
endfor;
return szAnswer;
end;
其中有一些方法我想拿出来单独讲一下:
计算字符串的长度:
StrLength(szName);
截取字符串:
StrSub(szLeft, szName, 0, 1);
第一个参数是输出参数,第二个是要操作的字符串,第三个是开始截取的位置,最后一个是截取结束的位置。
将字符串转化为字符:
STRTOCHAR(szLeft);
这个方法返回一个字符变量。
本文介绍了一种在InstallShield中实现字符串加密和解密的简单方法。通过将字符串中的每个字符加17来加密,并在解密时减17。文章详细展示了加密和解密的函数代码,并解释了其中涉及的字符串操作。

687

被折叠的 条评论
为什么被折叠?



