ASP没有内置的加密解密函数,导致我们在做AJAX传递参数的时候容易出现乱码,下面青岛星网跟大家分享:ASP自定义escape加密和unescape解密函数。
Function vbsEscape(str)'加密 dim i,s,c,a s="" For i=1 to Len(str) c=Mid(str,i,1) a=ASCW(c) If (a>=48 and a<=57) or (a>=65 and a<=90) or (a>=97 and a<=122) Then s = s & c ElseIf InStr("@*_+-./",c)>0 Then s = s & c ElseIf a>0 and a<16 Then s = s & "%0" & Hex(a) ElseIf a>=16 and a<256 Then s = s & "%" & Hex(a) Else s = s & "%u" & Hex(a) End If Next vbsEscape = s End Function
Function vbsUnEscape(str)'解密 dim i,s,c s="" For i=1 to Len(str) c=Mid(str,i,1) If Mid(str,i,2)="%u" and i<=Len(str)-5 Then If IsNumeric("&H" & Mid(str,i+2,4)) Then s = s & CHRW(CInt("&H" & Mid(str,i+2,4))) i = i+5 Else s = s & c End If ElseIf c="%" and i<=Len(str)-2 Then If IsNumeric("&H" & Mid(str,i+1,2)) Then s = s & CHRW(CInt("&H" & Mid(str,i+1,2))) i = i+2 Else s = s & c End If Else s = s & c End If Next vbsUnEscape = s End Function