亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

asp base64加解密函數代碼

2024-05-04 11:08:51
字體:
來源:轉載
供稿:網友
有時候大家享用base64 加解密,下面是具體的實現代碼,需要的朋友可以參考下。
 
 
 
復制代碼代碼如下:

<% 

sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" 
sBASE_64_CHARACTERS = strUnicode2Ansi(sBASE_64_CHARACTERS) 

Function strUnicodeLen(asContents) 
'計算unicode字符串的Ansi編碼的長度 
asContents1="a"&asContents 
len1=len(asContents1) 
k=0 
for i=1 to len1 
asc1=asc(mid(asContents1,i,1)) 
if asc1<0 then asc1=65536+asc1 
if asc1>255 then 
k=k+2 
else 
k=k+1 
end if 
next 
strUnicodeLen=k-1 
End Function 

Function strUnicode2Ansi(asContents) 
'將Unicode編碼的字符串,轉換成Ansi編碼的字符串 
strUnicode2Ansi="" 
len1=len(asContents) 
for i=1 to len1 
varchar=mid(asContents,i,1) 
varasc=asc(varchar) 
if varasc<0 then varasc=varasc+65536 
if varasc>255 then 
varHex=Hex(varasc) 
varlow=left(varHex,2) 
varhigh=right(varHex,2) 
strUnicode2Ansi=strUnicode2Ansi & chrb("&H" & varlow ) & chrb("&H" & varhigh ) 
else 
strUnicode2Ansi=strUnicode2Ansi & chrb(varasc) 
end if 
next 
End function 

Function strAnsi2Unicode(asContents) 
'將Ansi編碼的字符串,轉換成Unicode編碼的字符串 
strAnsi2Unicode = "" 
len1=lenb(asContents) 
if len1=0 then exit function 
for i=1 to len1 
varchar=midb(asContents,i,1) 
varasc=ascb(varchar) 
if varasc > 127 then 
strAnsi2Unicode = strAnsi2Unicode & chr(ascw(midb(asContents,i+1,1) & varchar)) 
i=i+1 
else 
strAnsi2Unicode = strAnsi2Unicode & chr(varasc) 
end if 
next 
End function 

Function Base64encode(asContents) 
'將Ansi編碼的字符串進行Base64編碼 
'asContents應當是ANSI編碼的字符串(二進制的字符串也可以) 
Dim lnPosition 
Dim lsResult 
Dim Char1 
Dim Char2 
Dim Char3 
Dim Char4 
Dim Byte1 
Dim Byte2 
Dim Byte3 
Dim SaveBits1 
Dim SaveBits2 
Dim lsGroupBinary 
Dim lsGroup64 
Dim m4,len1,len2 

len1=Lenb(asContents) 
if len1<1 then 
Base64encode="" 
exit Function 
end if 

m3=Len1 Mod 3 
If M3 > 0 Then asContents = asContents & String(3-M3, chrb(0)) 
'補足位數是為了便于計算 

IF m3 > 0 THEN 
len1=len1+(3-m3) 
len2=len1-3 
else 
len2=len1 
end if 

lsResult = "" 

For lnPosition = 1 To len2 Step 3 
lsGroup64 = "" 
lsGroupBinary = Midb(asContents, lnPosition, 3) 

Byte1 = Ascb(Midb(lsGroupBinary, 1, 1)): SaveBits1 = Byte1 And 3 
Byte2 = Ascb(Midb(lsGroupBinary, 2, 1)): SaveBits2 = Byte2 And 15 
Byte3 = Ascb(Midb(lsGroupBinary, 3, 1)) 

Char1 = Midb(sBASE_64_CHARACTERS, ((Byte1 And 252) / 4) + 1, 1) 
Char2 = Midb(sBASE_64_CHARACTERS, (((Byte2 And 240) / 16) Or (SaveBits1 * 16) And &HFF) + 1, 1) 
Char3 = Midb(sBASE_64_CHARACTERS, (((Byte3 And 192) / 64) Or (SaveBits2 * 4) And &HFF) + 1, 1) 
Char4 = Midb(sBASE_64_CHARACTERS, (Byte3 And 63) + 1, 1) 
lsGroup64 = Char1 & Char2 & Char3 & Char4 

lsResult = lsResult & lsGroup64 
Next 

'處理最后剩余的幾個字符 
if M3 > 0 then 
lsGroup64 = "" 
lsGroupBinary = Midb(asContents, len2+1, 3) 

Byte1 = Ascb(Midb(lsGroupBinary, 1, 1)): SaveBits1 = Byte1 And 3 
Byte2 = Ascb(Midb(lsGroupBinary, 2, 1)): SaveBits2 = Byte2 And 15 
Byte3 = Ascb(Midb(lsGroupBinary, 3, 1)) 

Char1 = Midb(sBASE_64_CHARACTERS, ((Byte1 And 252) / 4) + 1, 1) 
Char2 = Midb(sBASE_64_CHARACTERS, (((Byte2 And 240) / 16) Or (SaveBits1 * 16) And &HFF) + 1, 1) 
Char3 = Midb(sBASE_64_CHARACTERS, (((Byte3 And 192) / 64) Or (SaveBits2 * 4) And &HFF) + 1, 1) 

if M3=1 then 
lsGroup64 = Char1 & Char2 & ChrB(61) & ChrB(61) '用=號補足位數 
else 
lsGroup64 = Char1 & Char2 & Char3 & ChrB(61) '用=號補足位數 
end if 

lsResult = lsResult & lsGroup64 
end if 

Base64encode = lsResult 

End Function 


Function Base64decode(asContents) 
'將Base64編碼字符串轉換成Ansi編碼的字符串 
'asContents應當也是ANSI編碼的字符串(二進制的字符串也可以) 
Dim lsResult 
Dim lnPosition 
Dim lsGroup64, lsGroupBinary 
Dim Char1, Char2, Char3, Char4 
Dim Byte1, Byte2, Byte3 
Dim M4,len1,len2 

len1= Lenb(asContents) 
M4 = len1 Mod 4 

if len1 < 1 or M4 > 0 then 
'字符串長度應當是4的倍數 
Base64decode = "" 
exit Function 
end if 

'判斷最后一位是不是 = 號 
'判斷倒數第二位是不是 = 號 
'這里m4表示最后剩余的需要單獨處理的字符個數 
if midb(asContents, len1, 1) = chrb(61) then m4=3 
if midb(asContents, len1-1, 1) = chrb(61) then m4=2 

if m4 = 0 then 
len2=len1 
else 
len2=len1-4 
end if 

For lnPosition = 1 To Len2 Step 4 
lsGroupBinary = "" 
lsGroup64 = Midb(asContents, lnPosition, 4) 
Char1 = InStrb(sBASE_64_CHARACTERS, Midb(lsGroup64, 1, 1)) - 1 
Char2 = InStrb(sBASE_64_CHARACTERS, Midb(lsGroup64, 2, 1)) - 1 
Char3 = InStrb(sBASE_64_CHARACTERS, Midb(lsGroup64, 3, 1)) - 1 
Char4 = InStrb(sBASE_64_CHARACTERS, Midb(lsGroup64, 4, 1)) - 1 
Byte1 = Chrb(((Char2 And 48) / 16) Or (Char1 * 4) And &HFF) 
Byte2 = lsGroupBinary & Chrb(((Char3 And 60) / 4) Or (Char2 * 16) And &HFF) 
Byte3 = Chrb((((Char3 And 3) * 64) And &HFF) Or (Char4 And 63)) 
lsGroupBinary = Byte1 & Byte2 & Byte3 

lsResult = lsResult & lsGroupBinary 
Next 

'處理最后剩余的幾個字符 
if M4 > 0 then 
lsGroupBinary = "" 
lsGroup64 = Midb(asContents, len2+1, m4) & chrB(65) 'chr(65)=A,轉換成值為0 
if M4=2 then '補足4位,是為了便于計算 
lsGroup64 = lsGroup64 & chrB(65) 
end if 
Char1 = InStrb(sBASE_64_CHARACTERS, Midb(lsGroup64, 1, 1)) - 1 
Char2 = InStrb(sBASE_64_CHARACTERS, Midb(lsGroup64, 2, 1)) - 1 
Char3 = InStrb(sBASE_64_CHARACTERS, Midb(lsGroup64, 3, 1)) - 1 
Char4 = InStrb(sBASE_64_CHARACTERS, Midb(lsGroup64, 4, 1)) - 1 
Byte1 = Chrb(((Char2 And 48) / 16) Or (Char1 * 4) And &HFF) 
Byte2 = lsGroupBinary & Chrb(((Char3 And 60) / 4) Or (Char2 * 16) And &HFF) 
Byte3 = Chrb((((Char3 And 3) * 64) And &HFF) Or (Char4 And 63)) 

if M4=2 then 
lsGroupBinary = Byte1 
elseif M4=3 then 
lsGroupBinary = Byte1 & Byte2 
end if 

lsResult = lsResult & lsGroupBinary 
end if 

Base64decode = lsResult 

End Function 
%> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩国产欧美精品在线| 亚洲男子天堂网| 国产精品视频久久久| 国产做受69高潮| 91在线精品视频| 久久精品视频99| 91精品久久久久久久久青青| 欧美不卡视频一区发布| 激情亚洲一区二区三区四区| 亚洲视频电影图片偷拍一区| 亚洲欧美日韩国产精品| 欧美日韩免费观看中文| 日韩欧美aⅴ综合网站发布| 久久综合久久美利坚合众国| 国产婷婷成人久久av免费高清| 亚洲国产成人精品女人久久久| 亚洲国产精品999| 色播久久人人爽人人爽人人片视av| 大荫蒂欧美视频另类xxxx| 国产成人亚洲综合91精品| 亚洲天堂av在线免费| 久久精品小视频| 国产日韩欧美黄色| 精品国产区一区二区三区在线观看| 欧美日本国产在线| 亚洲成人精品av| 国产欧美日韩免费看aⅴ视频| 久久99久久99精品中文字幕| 日韩av免费网站| 欧美午夜影院在线视频| 国产日本欧美在线观看| 中文字幕av一区中文字幕天堂| 在线观看国产精品91| 国产精品永久免费在线| 一区二区三区回区在观看免费视频| 午夜精品国产精品大乳美女| 中文字幕亚洲自拍| 一区二区三区动漫| 国产a∨精品一区二区三区不卡| 91精品国产91久久久久| 国产一区二区日韩精品欧美精品| 亚洲国产精品字幕| 国产午夜精品视频| 91美女片黄在线观看游戏| 久久全球大尺度高清视频| 久久久久久久久爱| 伊人男人综合视频网| 久久精品国产成人精品| 91精品国产91久久久久福利| 成人做爰www免费看视频网站| 日本高清视频一区| 一本久久综合亚洲鲁鲁| 久久久爽爽爽美女图片| 精品国产一区二区三区久久久| 国产精品美女www| 欧美一区深夜视频| 91探花福利精品国产自产在线| 国产精品久久久久影院日本| 538国产精品一区二区免费视频| 欧美主播福利视频| 欧美成人激情在线| 欧美最猛黑人xxxx黑人猛叫黄| 亚洲精品网站在线播放gif| 都市激情亚洲色图| 亚洲最新av在线网站| 欧美xxxx做受欧美.88| 国产精品免费电影| 日韩成人小视频| 欧美成人午夜免费视在线看片| 欧美成人精品三级在线观看| 国产91露脸中文字幕在线| 亚洲一区二区黄| 中文日韩电影网站| 久久99国产精品久久久久久久久| 国产精品一区二区女厕厕| 在线看国产精品| 91麻豆国产精品| 国产欧美一区二区三区四区| 亚洲人成网站在线播| 欧美激情va永久在线播放| 韩国国内大量揄拍精品视频| 欧美成人午夜剧场免费观看| 久久免费观看视频| 日韩av综合中文字幕| 欧美性生交xxxxxdddd| 亚洲丁香婷深爱综合| 中文字幕视频在线免费欧美日韩综合在线看| 亚洲一区二区三区成人在线视频精品| 精品无码久久久久久国产| 日本高清视频一区| 亚洲国产精品小视频| 欧美国产极速在线| 国产精品尤物福利片在线观看| 国产精品久在线观看| 成人有码视频在线播放| 久久精品国产视频| 97视频在线播放| 国产精品免费一区二区三区都可以| 欧美肥老妇视频| 欧美日韩激情小视频| 精品视频在线观看日韩| 俺去啦;欧美日韩| 国产精品视频午夜| 亚洲国产成人精品久久久国产成人一区| 亚洲精品大尺度| 国产精品高潮呻吟视频| 亚洲精品一区二三区不卡| 日韩在线免费观看视频| 日韩高清有码在线| 在线观看精品自拍私拍| 日韩电影中文 亚洲精品乱码| 日韩人体视频一二区| 欧美精品在线第一页| 自拍视频国产精品| 成人黄色片在线| 久久久亚洲精品视频| 欧美老少做受xxxx高潮| 久久国产精品久久精品| 国产视频久久久| 欧美高清第一页| 欧美肥婆姓交大片| 久久国产精品电影| 日本精品免费一区二区三区| 91精品视频在线播放| 欧美限制级电影在线观看| 91精品国产色综合久久不卡98| 亚洲一区二区少妇| 久久免费视频观看| 久久久亚洲欧洲日产国码aⅴ| 疯狂蹂躏欧美一区二区精品| 日韩av免费看网站| 成人黄色av播放免费| 国产精品福利无圣光在线一区| 色中色综合影院手机版在线观看| 成人激情视频在线观看| 91精品在线影院| 欧美又大又粗又长| 亚洲白虎美女被爆操| 激情懂色av一区av二区av| 亚洲精品免费av| 成人性生交大片免费观看嘿嘿视频| 九九九热精品免费视频观看网站| 日本不卡高字幕在线2019| 91在线视频精品| 日韩美女免费观看| 亚洲国产另类 国产精品国产免费| 国产一区二区色| 欧美在线观看日本一区| 亚洲欧美中文字幕| 国产精品福利在线| 91精品国产自产91精品| 亚洲国产毛片完整版| 欧美日韩在线免费| 91久久综合亚洲鲁鲁五月天| 91av在线国产| 久久九九精品99国产精品| 最近2019中文字幕第三页视频| 亚洲精品国产成人| 91国产美女视频| 久久综合久久八八| 国产精品丝袜白浆摸在线| 欧美激情视频播放| 最新日韩中文字幕| 欧美日韩国产va另类|