日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

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

ASP加密解密函數

admin
2010年5月8日 15:45 本文熱度 7829
<% [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是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 日韩新片在线观看网 | 亚洲特黄特色免费手机在线视 | 国产欧美日韩精品第一区 | 91精品国产福利在线观看麻 | 一区二区国产高清视频在线 | 国产欧美日韩精品福利98 | 自制国产2025福利看片 | 国产伦精品一区二区三区视频网站 | 99热国产在线播放只有精品 | 妖精视频免费观看 | 91精品国产免费青青碰在线观看 | 日本高清在线中字视频 | 免费一看一级 | 伊人伦理| 91精品啪在线观看国产线免费 | 国产精品va欧美精品 | 费精品国产一区国产精品剧情在线 | 一区两区三区四区乱码国产精品 | 亚洲欧美国产va | 日韩a级一片 | 热门电影综艺电视剧在线观看 | 精品国产一区二区三区亚洲 | 国产熟女乱伦一区二区 | 国产不卡高清在线观看视频 | 精品一区精品二区 | 2025国产精品极品色在线 | 午夜亚洲福利在线老司机 | 性午夜视频在线观看 | 一本精品一区二区在线观看 | 热映电影免费在线观 | 国内一点不卡在 | 日韩精品电影亚洲一区 | 国产精品成人一区二区三区 | 欧美高清在线不卡免费观看 | 日韩免费一区二区三区高清 | 国产小视频福利在线观看高清完整 | 五月激情丁香婷婷综合网 | 在线观看国产色一二三区 | 91干逼网 | 天堂а√在线最新版中文在线 | 亚洲日本精品va中文字幕 |