男女做爽爽爽网站-男女做羞羞高清-男女做爰高清无遮挡免费视频-男女做爰猛烈-男女做爰猛烈吃奶啪啪喷水网站-内射白浆一区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網站管理員

ASP加密解密函數

admin
2010年5月8日 15:45 本文熱度 7909
<% [br] sbase_64_characters = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789+/" [br] sbase_64_characters = strunicode2ansi(sbase_64_characters) [br] [br] function strunicodelen(ascontents) [br] ''計算unicode字符串的ansi編碼的長度 [br] ascontents1="a"&ascontents [br] len1=len(ascontents1) [br] k=0 [br] for i=1 to len1 [br] asc1=asc(mid(ascontents1,i,1)) [br] if asc1<0 then asc1=65536+asc1 [br] if asc1>255 then [br] k=k+2 [br] else [br] k=k+1 [br] end if [br] next [br] strunicodelen=k-1 [br] end function [br] [br] function strunicode2ansi(ascontents) [br] ''將unicode編碼的字符串,轉換成ansi編碼的字符串 [br] strunicode2ansi="" [br] len1=len(ascontents) [br] for i=1 to len1 [br] varchar=mid(ascontents,i,1) [br] varasc=asc(varchar) [br] if varasc<0 then varasc=varasc+65536 [br] if varasc>255 then [br] varhex=hex(varasc) [br] varlow=left(varhex,2) [br] varhigh=right(varhex,2) [br] strunicode2ansi=strunicode2ansi & chrb("&h" & varlow ) & chrb("&h" & varhigh ) [br] else [br] strunicode2ansi=strunicode2ansi & chrb(varasc) [br] end if [br] next [br] end function [br] [br] function stransi2unicode(ascontents) [br] ''將ansi編碼的字符串,轉換成unicode編碼的字符串 [br] stransi2unicode = "" [br] len1=lenb(ascontents) [br] if len1=0 then exit function [br] for i=1 to len1 [br] varchar=midb(ascontents,i,1) [br] varasc=ascb(varchar) [br] if varasc > 127 then [br] stransi2unicode = stransi2unicode & chr(ascw(midb(ascontents,i+1,1) & varchar)) [br] i=i+1 [br] else [br] stransi2unicode = stransi2unicode & chr(varasc) [br] end if [br] next [br] end function [br] [br] function base64encode(ascontents) [br] ''將ansi編碼的字符串進行base64編碼 [br] ''ascontents應當是ansi編碼的字符串(二進制的字符串也可以) [br] dim lnposition [br] dim lsresult [br] dim char1 [br] dim char2 [br] dim char3 [br] dim char4 [br] dim byte1 [br] dim byte2 [br] dim byte3 [br] dim savebits1 [br] dim savebits2 [br] dim lsgroupbinary [br] dim lsgroup64 [br] dim m4,len1,len2 [br] [br] len1=lenb(ascontents) [br] if len1<1 then [br] base64encode="" [br] exit function [br] end if [br] [br] m3=len1 mod 3 [br] if m3 > 0 then ascontents = ascontents & string(3-m3, chrb(0)) [br] ''補足位數是為了便于計算 [br] [br] if m3 > 0 then [br] len1=len1+(3-m3) [br] len2=len1-3 [br] else [br] len2=len1 [br] end if [br] [br] lsresult = "" [br] [br] for lnposition = 1 to len2 step 3 [br] lsgroup64 = "" [br] lsgroupbinary = midb(ascontents, lnposition, 3) [br] [br] byte1 = ascb(midb(lsgroupbinary, 1, 1)): savebits1 = byte1 and 3 [br] byte2 = ascb(midb(lsgroupbinary, 2, 1)): savebits2 = byte2 and 15 [br] byte3 = ascb(midb(lsgroupbinary, 3, 1)) [br] [br] char1 = midb(sbase_64_characters, ((byte1 and 252) \ 4) + 1, 1) [br] char2 = midb(sbase_64_characters, (((byte2 and 240) \ 16) or (savebits1 * 16) and &hff) + 1, 1) [br] char3 = midb(sbase_64_characters, (((byte3 and 192) \ 64) or (savebits2 * 4) and &hff) + 1, 1) [br] char4 = midb(sbase_64_characters, (byte3 and 63) + 1, 1) [br] lsgroup64 = char1 & char2 & char3 & char4 [br] [br] lsresult = lsresult & lsgroup64 [br] next [br] [br] ''處理最后剩余的幾個字符 [br] if m3 > 0 then [br] lsgroup64 = "" [br] lsgroupbinary = midb(ascontents, len2+1, 3) [br] [br] byte1 = ascb(midb(lsgroupbinary, 1, 1)): savebits1 = byte1 and 3 [br] byte2 = ascb(midb(lsgroupbinary, 2, 1)): savebits2 = byte2 and 15 [br] byte3 = ascb(midb(lsgroupbinary, 3, 1)) [br] [br] char1 = midb(sbase_64_characters, ((byte1 and 252) \ 4) + 1, 1) [br] char2 = midb(sbase_64_characters, (((byte2 and 240) \ 16) or (savebits1 * 16) and &hff) + 1, 1) [br] char3 = midb(sbase_64_characters, (((byte3 and 192) \ 64) or (savebits2 * 4) and &hff) + 1, 1) [br] [br] if m3=1 then [br] lsgroup64 = char1 & char2 & chrb(61) & chrb(61) ''用=號補足位數 [br] else [br] lsgroup64 = char1 & char2 & char3 & chrb(61) ''用=號補足位數 [br] end if [br] [br] lsresult = lsresult & lsgroup64 [br] end if [br] [br] base64encode = lsresult [br] [br] end function [br] [br] [br] function base64decode(ascontents) [br] ''將base64編碼字符串轉換成ansi編碼的字符串 [br] ''ascontents應當也是ansi編碼的字符串(二進制的字符串也可以) [br] dim lsresult [br] dim lnposition [br] dim lsgroup64, lsgroupbinary [br] dim char1, char2, char3, char4 [br] dim byte1, byte2, byte3 [br] dim m4,len1,len2 [br] [br] len1= lenb(ascontents) [br] m4 = len1 mod 4 [br] [br] if len1 < 1 or m4 > 0 then [br] ''字符串長度應當是4的倍數 [br] base64decode = "" [br] exit function [br] end if [br] [br] ''判斷最后一位是不是 = 號 [br] ''判斷倒數第二位是不是 = 號 [br] ''這里m4表示最后剩余的需要單獨處理的字符個數 [br] if midb(ascontents, len1, 1) = chrb(61) then m4=3 [br] if midb(ascontents, len1-1, 1) = chrb(61) then m4=2 [br] [br] if m4 = 0 then [br] len2=len1 [br] else [br] len2=len1-4 [br] end if [br] [br] for lnposition = 1 to len2 step 4 [br] lsgroupbinary = "" [br] lsgroup64 = midb(ascontents, lnposition, 4) [br] char1 = instrb(sbase_64_characters, midb(lsgroup64, 1, 1)) - 1 [br] char2 = instrb(sbase_64_characters, midb(lsgroup64, 2, 1)) - 1 [br] char3 = instrb(sbase_64_characters, midb(lsgroup64, 3, 1)) - 1 [br] char4 = instrb(sbase_64_characters, midb(lsgroup64, 4, 1)) - 1 [br] byte1 = chrb(((char2 and 48) \ 16) or (char1 * 4) and &hff) [br] byte2 = lsgroupbinary & chrb(((char3 and 60) \ 4) or (char2 * 16) and &hff) [br] byte3 = chrb((((char3 and 3) * 64) and &hff) or (char4 and 63)) [br] lsgroupbinary = byte1 & byte2 & byte3 [br] [br] lsresult = lsresult & lsgroupbinary [br] next [br] [br] ''處理最后剩余的幾個字符 [br] if m4 > 0 then [br] lsgroupbinary = "" [br] lsgroup64 = midb(ascontents, len2+1, m4) & chrb(65) ''chr(65)=a,轉換成值為0 [br] if m4=2 then ''補足4位,是為了便于計算 [br] lsgroup64 = lsgroup64 & chrb(65) [br] end if [br] char1 = instrb(sbase_64_characters, midb(lsgroup64, 1, 1)) - 1 [br] char2 = instrb(sbase_64_characters, midb(lsgroup64, 2, 1)) - 1 [br] char3 = instrb(sbase_64_characters, midb(lsgroup64, 3, 1)) - 1 [br] char4 = instrb(sbase_64_characters, midb(lsgroup64, 4, 1)) - 1 [br] byte1 = chrb(((char2 and 48) \ 16) or (char1 * 4) and &hff) [br] byte2 = lsgroupbinary & chrb(((char3 and 60) \ 4) or (char2 * 16) and &hff) [br] byte3 = chrb((((char3 and 3) * 64) and &hff) or (char4 and 63)) [br] [br] if m4=2 then [br] lsgroupbinary = byte1 [br] elseif m4=3 then [br] lsgroupbinary = byte1 & byte2 [br] end if [br] [br] lsresult = lsresult & lsgroupbinary [br] end if [br] [br] base64decode = lsresult [br] [br] end function %>

該文章在 2010/5/8 15:45:47 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 蜜臀av无码国产精品色午夜麻豆 | 精品亚洲成a人在线观看青青 | 无码专区www无码专区网网站 | 久久九九热 | 国产深夜福利视频 | 精品国产3p一区二区三区 | 欧洲永久精品大片ww免费网站 | 亚洲爆乳av无码专区 | 欧美乱人伦视频 | 国产乱码卡一卡2卡三卡四 国产乱码人妻一区二区三区 | 国产精品成人一区二区三区电影 | 精品国产香蕉伊思人在线 | 久久视频在线视频观品15 | 黄色三级免费观看 | 老司机午夜精品视频观看 | 国产素人在线观看人成视频 | 囯产愉拍亚洲精品一区 | 国产精品无码一区二区三区 | 国产精品亚洲一区二区在线 | 国产午夜片无码区在线导航 | 久久久久久久aⅴ无码免费网站 | 99久久无码一区人妻a黑 | 无码毛片视频一区二区免费播放 | 无码人妻aⅴ一区二区三区色戒乐 | 亚洲精品亚洲字幕 | 高清国产一区二区三区 | 嫩草研究院最新地址入口 | 有码中文无码中文无码人妻 | 91精品国产免费自在线观看 | 国产精品色吧国产精品 | av色图| 国产人妻人伦精品98 | 免费的青榴视频在线观看 | 国产三级电影经典在线看 | 色狠狠天天综合色香阁 | 午夜精品久久久久久久久日韩欧美 | av亚洲欧洲日产国码无码 | 被群CAO的合不拢腿H两根一起 | 欧美日韩另类在线专区卡通 | 久久久久中文字幕无码人妻 | 亚洲国产精品毛片AV不卡在线 |