<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      ASP學習:urldecode 方法補遺

      [摘要]asp 里面沒有urldecode函數,好象aspx里有吧,我不太清楚,但asp里面還是用得很多。在網上查找了有別人寫的urldecode函數,但是這個函數有錯誤,而且在一些方面寫得比較難理解。而且...

        asp 里面沒有urldecode函數,好象aspx里有吧,我不太清楚,但asp里面還是用得很多。在網上查找了有別人寫的urldecode函數,但是這個函數有錯誤,而且在一些方面寫得比較難理解。而且有錯誤,當里面有生僻雙字節文字時就會產生錯誤,如“乄”經urlencoder后為“%81W”,解碼就不能成功。

        其實雙字節編碼在這里只要把"W"也編成16進制ASC碼就可以。

        知識點:計算機里的cookie也是經過urlencode編碼的,所以urldecode對破解cookie也很有用呵。

        下面是源代碼:

        Function URLDecode(enStr)
        dim deStr
        dim c,i,v
        deStr=""
        for i=1 to len(enStr)
        c=Mid(enStr,i,1)
        if c="%" then
        v=eval("&h"+Mid(enStr,i+1,2))
        if v<128 then
        deStr=deStr&chr(v)
        i=i+2
        else
        if isvalidhex(mid(enstr,i,3)) then
        if isvalidhex(mid(enstr,i+3,3)) then
        v=eval("&h"+Mid(enStr,i+1,2)+Mid(enStr,i+4,2))
        deStr=deStr&chr(v)
        i=i+5
        else
        v=eval("&h"+Mid(enStr,i+1,2)+cstr(hex(asc(Mid(enStr,i+3,1)))))
        deStr=deStr&chr(v)
        i=i+3
        end if
        else
        destr=destr&c
        end if
        end if
        else
        if c="+" then
        deStr=deStr&" "
        else
        deStr=deStr&c
        end if
        end if
        next
        URLDecode=deStr
        end function

        function isvalidhex(str)
        isvalidhex=true
        str=ucase(str)
        if len(str)<>3 then isvalidhex=false:exit function
        if left(str,1)<>"%" then isvalidhex=false:exit function
        c=mid(str,2,1)
        if not (((c>="0") and (c<="9")) or ((c>="A") and (c<="Z"))) then isvalidhex=false:exit function
        c=mid(str,3,1)
        if not (((c>="0") and (c<="9")) or ((c>="A") and (c<="Z"))) then isvalidhex=false:exit function
        end function

        你用此方法解碼“%81W”看看,可以了。

        當然,你還可以玩點小段,使之成為自己的一種字符串加密方式。




      日韩精品一区二区三区高清