精美而实用的网站,关注web编程技术、网站运营、SEO推广,让您轻松愉快的学习

ASP没有内置的加密解密函数,导致我们在做AJAX传递参数的时候容易出现乱码,下面青岛星网跟大家分享:ASP自定义escape加密和unescape解密函数。

模拟escape函数进行加密

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

模拟unescape函数进行解密

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
Tags:ASP 加密 解密