ASP BASE64加解密(亲测可用)
核心代码:
<% 'OPTIONEXPLICIT constBASE_64_MAP_INIT="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" dimnewline dimBase64EncMap(63) dimBase64DecMap(127) '初始化函数 PUBLICSUBinitCodecs() '初始化变量 newline="<P>"&chr(13)&chr(10) dimmax,idx max=len(BASE_64_MAP_INIT) foridx=0tomax-1 Base64EncMap(idx)=mid(BASE_64_MAP_INIT,idx+1,1) next foridx=0tomax-1 Base64DecMap(ASC(Base64EncMap(idx)))=idx next ENDSUB 'Base64加密函数 PUBLICFUNCTIONbase64Encode(plain) iflen(plain)=0then base64Encode="" exitfunction endif dimret,ndx,by3,first,second,third by3=(len(plain)\3)*3 ndx=1 dowhilendx<=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)AND63) ret=ret&Base64EncMap(((first*16)AND48)+((second\16)AND15)) ret=ret&Base64EncMap(((second*4)AND60)+((third\64)AND3)) ret=ret&Base64EncMap(thirdAND63) ndx=ndx+3 loop ifby3<len(plain)then first=asc(mid(plain,ndx+0,1)) ret=ret&Base64EncMap((first\4)AND63) if(len(plain)MOD3)=2then second=asc(mid(plain,ndx+1,1)) ret=ret&Base64EncMap(((first*16)AND48)+((second\16)AND15)) ret=ret&Base64EncMap(((second*4)AND60)) else ret=ret&Base64EncMap((first*16)AND48) ret=ret'&"=" endif ret=ret'&"=" endif base64Encode=ret ENDFUNCTION 'Base64解密函数 PUBLICFUNCTIONbase64Decode(scrambled) iflen(scrambled)=0then base64Decode="" exitfunction endif dimrealLen realLen=len(scrambled) dowhilemid(scrambled,realLen,1)="=" realLen=realLen-1 loop dimret,ndx,by4,first,second,third,fourth ret="" by4=(realLen\4)*4 ndx=1 dowhilendx<=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)AND255)+((second\16)AND3)) ret=ret&chr(((second*16)AND255)+((third\4)AND15)) ret=ret&chr(((third*64)AND255)+(fourthAND63)) ndx=ndx+4 loop ifndx<realLenthen first=Base64DecMap(asc(mid(scrambled,ndx+0,1))) second=Base64DecMap(asc(mid(scrambled,ndx+1,1))) ret=ret&chr(((first*4)AND255)+((second\16)AND3)) ifrealLenMOD4=3then third=Base64DecMap(asc(mid(scrambled,ndx+2,1))) ret=ret&chr(((second*16)AND255)+((third\4)AND15)) endif endif base64Decode=ret ENDFUNCTION %>
使用方法:
'初始化
callinitCodecs
Response.Write(base64Encode("毛票票之我要加密的字符串"))
Response.Write(base64Decode("bWFyczIwMTAwMjIw0"))热门推荐
10 感谢韩语老师祝福语简短
11 升职文案高级祝福语简短
12 花童结婚祝福语大全简短
13 向国庆送祝福语简短
14 什么寄语简短祝福语女生
15 客户回礼祝福语大全简短
16 女孩生日祝福语简短创意
17 家长回复节日祝福语简短
18 给外婆敬酒祝福语简短