佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > ASP BASE64加解密(親測可用)

ASP BASE64加解密(親測可用)

熱門標(biāo)簽:科大訊飛語音識別系統(tǒng) 銀行業(yè)務(wù) 阿里云 團(tuán)購網(wǎng)站 Linux服務(wù)器 服務(wù)器配置 Mysql連接數(shù)設(shè)置 電子圍欄

核心代碼:

%
  ' OPTION EXPLICIT
   const BASE_64_MAP_INIT = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
   dim newline
   dim Base64EncMap(63)
   dim Base64DecMap(127)
   '初始化函數(shù)
   PUBLIC SUB initCodecs()
     ' 初始化變量
     newline = "P>"  chr(13)  chr(10)
     dim max, idx
       max = len(BASE_64_MAP_INIT)
     for idx = 0 to max - 1
        Base64EncMap(idx) = mid(BASE_64_MAP_INIT, idx + 1, 1)
     next
     for idx = 0 to max - 1
        Base64DecMap(ASC(Base64EncMap(idx))) = idx
     next
   END SUB
   'Base64加密函數(shù)
   PUBLIC FUNCTION base64Encode(plain)
     if len(plain) = 0 then
        base64Encode = ""
        exit function
     end if
     dim ret, ndx, by3, first, second, third
     by3 = (len(plain) \ 3) * 3
     ndx = 1
     do while ndx = by3
        first = asc(mid(plain, ndx+0, 1))
        second = asc(mid(plain, ndx+1, 1))
        third = asc(mid(plain, ndx+2, 1))
        ret = ret  Base64EncMap( (first \ 4) AND 63 )
        ret = ret  Base64EncMap( ((first * 16) AND 48) + ((second \ 16) AND 15 ) )
        ret = ret  Base64EncMap( ((second * 4) AND 60) + ((third \ 64) AND 3 ) )
        ret = ret  Base64EncMap( third AND 63)
        ndx = ndx + 3
     loop
     if by3  len(plain) then
        first = asc(mid(plain, ndx+0, 1))
        ret = ret  Base64EncMap( (first \ 4) AND 63 )
        if (len(plain) MOD 3 ) = 2 then
          second = asc(mid(plain, ndx+1, 1))
          ret = ret  Base64EncMap( ((first * 16) AND 48) + ((second \ 16) AND 15 ) )
          ret = ret  Base64EncMap( ((second * 4) AND 60) )
        else
          ret = ret  Base64EncMap( (first * 16) AND 48)
          ret = ret ' "="
        end if
        ret = ret ' "="
     end if
     base64Encode = ret
   END FUNCTION
   'Base64解密函數(shù)
   PUBLIC FUNCTION base64Decode(scrambled)
     if len(scrambled) = 0 then
        base64Decode = ""
        exit function
     end if
     dim realLen
     realLen = len(scrambled)
     do while mid(scrambled, realLen, 1) = "="
        realLen = realLen - 1
     loop
     dim ret, ndx, by4, first, second, third, fourth
     ret = ""
     by4 = (realLen \ 4) * 4
     ndx = 1
     do while ndx = by4
        first = Base64DecMap(asc(mid(scrambled, ndx+0, 1)))
        second = Base64DecMap(asc(mid(scrambled, ndx+1, 1)))
        third = Base64DecMap(asc(mid(scrambled, ndx+2, 1)))
        fourth = Base64DecMap(asc(mid(scrambled, ndx+3, 1)))
        ret = ret  chr( ((first * 4) AND 255) +  ((second \ 16) AND 3))
        ret = ret  chr( ((second * 16) AND 255) + ((third \ 4) AND 15))
        ret = ret  chr( ((third * 64) AND 255) + (fourth AND 63))
        ndx = ndx + 4
     loop
     if ndx  realLen then
        first = Base64DecMap(asc(mid(scrambled, ndx+0, 1)))
        second = Base64DecMap(asc(mid(scrambled, ndx+1, 1)))
        ret = ret  chr( ((first * 4) AND 255) +  ((second \ 16) AND 3))
        if realLen MOD 4 = 3 then
          third = Base64DecMap(asc(mid(scrambled,ndx+2,1)))
          ret = ret  chr( ((second * 16) AND 255) + ((third \ 4) AND 15))
        end if
     end if
     base64Decode = ret
   END FUNCTION

%>

使用方法:

' 初始化
 call initCodecs
Response.Write(base64Encode("腳本之家之我要加密的字符串"))
Response.Write(base64Decode("bWFyczIwMTAwMjIw0"))
您可能感興趣的文章:
  • 使用 certutil 實(shí)現(xiàn) Hex2Bin 和 Base64 加解密的方法
  • asp base64加解密函數(shù)代碼
  • Base64加解密的實(shí)現(xiàn)方式實(shí)例詳解

標(biāo)簽:蚌埠 萍鄉(xiāng) 棗莊 大理 衡水 廣元 衢州 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP BASE64加解密(親測可用)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    宝山区| 亚东县| 郎溪县| 乃东县| 古交市| 黄梅县| 湘西| 镇安县| 莫力| 易门县| 耿马| 县级市| 平武县| 江油市| 昌图县| 安阳市| 辉县市| 通化县| 伊宁县| 宁远县| 镇雄县| 新巴尔虎左旗| 无棣县| 邵阳县| 宁武县| 禹城市| 蒙城县| 襄汾县| 大渡口区| 吴川市| 儋州市| 建湖县| 武强县| 应用必备| 德阳市| 天长市| 江都市| 龙游县| 裕民县| 汉中市| 明溪县|