我有代码
Function DeCrypt(strName)
if strName <> "" then
g_KeyLocation = "m:\mysvr_src\mycart_svr.txt"
'g_Key = mid(ReadKeyFromFile(g_KeyLocation),1,Len(strName))
g_Key="gsovjrcenzhqjxigkhuhkfmabwxuzsuexvypfohbkmhdilihfbvhgfzccckvafoazynbhyeexinfwmeaesjzhwtqyaaybvghxwyfmewamhqwygaaqcbjklyeblidcvapajwdumodndhdkaauzxqnohrgvezmznbmtfyuadkbjrdbedjwsarlqpejrzszqdlkngwfdlphnswqewdtedwensocyqcryzkxtegmarfkiycyhloatbwtcxyzdyvpwjcovvtqodlxegmzletfxpiejlomorotgnpxeybqsclioisuoixvanwndpnerpyfaudkdivpjukeualkmgdkmpfvjszpxmqzcjwrfurmkolbibhvedqlsqzbyzdhqdicjqxesbhjtrskogydnhnndjviusctgipptulmdyhfhkkvxkajkazedplpuganevendeqcvgjeyaqvugfmupexcdlyvucdumrwmapofseeqvpyopfonhfgmsmjxrmdoztsqqnk"
count = 1
while InStr(strname,"_")
iKeyChar = (Asc(mid(g_Key,count,1)))
strName = Mid(strName,2,len(strName)-1)
if InStr(strName,"_")-1 = -1 then
iStringChar = strName
else
iStringChar = Mid(strName,1,InStr(strName,"_")-1)
end if
iDeCryptChar = iKeyChar Xor iStringChar
strDecrypted = strDecrypted & Chr(iDeCryptChar)
strName = Right(strName,len(strName)-instr(strName,"_")+1)
count = count + 1
wend
deCrypt = strDecrypted
else
deCrypt = ""
end if
End Function
我得到了一些正确的结果,然后停下来告诉我这个错误:
Microsoft VBScript运行时错误'800a000d'
类型不匹配:'iStringChar'
错误在这一行:
iDeCryptChar = iKeyChar Xor iStringChar
答案 0 :(得分:1)
错误实际上是不言自明的。您不能使用字符串对整数进行异或。当然,你会遇到类型不匹配的问题。
改变这个:
if InStr(strName,"_")-1 = -1 then
iStringChar = strName
else
iStringChar = Mid(strName,1,InStr(strName,"_")-1)
end if
进入这个:
if InStr(strName,"_")-1 = -1 then
iStringChar = Asc(strName)
else
iStringChar = Asc(Mid(strName,1,InStr(strName,"_")-1))
end if