解密功能的ASPBase64编码
复制代码代码如下所示:<
sbase_64_characters =abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789 + /
sbase_64_characters = strunicode2ansi(sbase_64_characters)
功能strunicodelen(ascontents)
计算Unicode字符串的ANSI编码的长度。
ascontents1 = ascontents
len1 = Len(ascontents1)
K = 0
我len1 = 1
asc1 = ASC(MID(ascontents1,I,1))
如果asc1<0然后asc1 = 65536 + asc1
如果asc1 > 255
k=k+2
其他的
k=k+1
最后如果
下一个
strunicodelen = K-1
端功能
功能strunicode2ansi(ascontents)
将unicode编码字符串转换为ANSI编码字符串
strunicode2ansi =
len1 = Len(ascontents)
我len1 = 1
varchar(ascontents =中,我,1)
varasc = ASC(varchar)
如果varasc<0然后varasc = varasc + 65536
如果varasc > 255
varhex =进制(varasc)
瓦尔罗=左(varhex,2)
varhigh =右(varhex,2)
strunicode2ansi = strunicode2ansi ChrB(瓦尔罗ChrB H )(Hvarhigh)
其他的
strunicode2ansi = strunicode2ansi ChrB(varasc)
最后如果
下一个
端功能
功能stransi2unicode(ascontents)
将ANSI编码字符串转换为unicode编码字符串
stransi2unicode =
len1 = lenb(ascontents)
如果len1 = 0然后退出功能
我len1 = 1
varchar =多重交替焙烘显影工艺(ascontents,I,1)
varasc = AscB(varchar)
如果varasc > 127
stransi2unicode = stransi2unicode CHR(ascw(多重交替焙烘显影工艺(ascontents,我+ 1)varchar))
i = i + 1
其他的
stransi2unicode = stransi2unicode CHR(varasc)
最后如果
下一个
端功能
Base64编码(ascontents)功能
Base64编码ANSI编码的字符串
ascontents应该通过ANSI字符串编码(二进制字符串也可以)
昏暗的lnposition
昏暗的lsresult
昏暗的字符串
昏暗的位置
昏暗的char3
昏暗的四
暗区
昏暗的字节2
昏暗的字节3
昏暗的savebits1
昏暗的savebits2
昏暗的lsgroupbinary
昏暗的lsgroup64
昏暗的M4,len1,len2个
len1 = lenb(ascontents)
如果len1<1
Base64编码=
退出功能
最后如果
M3 = len1 mod 3
如果M3 > 0然后ascontents = ascontents字符串(3-m3,ChrB(0))
补数是为了便于计算。
如果M3>0,那么
len1 = len1 +(3-m3)
len1-3 len2个=
其他的
len1 len2个=
最后如果
lsresult =
对于lnposition = 1 len2个步骤3
lsgroup64 =
lsgroupbinary =多重交替焙烘显影工艺(ascontents,lnposition,3)
个= AscB(多重交替焙烘显影工艺(lsgroupbinary,1, 1)):savebits1 = 3个
字节2 = AscB(多重交替焙烘显影工艺(lsgroupbinary,2, 1)):savebits2 =字节2和15
字节3 = AscB(多重交替焙烘显影工艺(lsgroupbinary,3, 1))
字符串=多重交替焙烘显影工艺(sbase_64_characters,((((区252)4)1, 1)
- =多重交替焙烘显影工艺(sbase_64_characters,((((((((字节2和240)或(16)savebits1×16)和HFF)+ 1, 1)
char3 =多重交替焙烘显影工艺(sbase_64_characters,((((((((字节3和192)或(64)savebits2×4)和HFF)+ 1, 1)
(四=多重交替焙烘显影工艺sbase_64_characters,(字节3和63)+ 1, 1)
lsgroup64 =字符串的位置char3四
lsresult = lsresult lsgroup64
下一个
处理最后几个字符
如果M3>0,那么
lsgroup64 =
lsgroupbinary =多重交替焙烘显影工艺(ascontents,len2个+ 1, 3)
个= AscB(多重交替焙烘显影工艺(lsgroupbinary,1, 1)):savebits1 = 3个
字节2 = AscB(多重交替焙烘显影工艺(lsgroupbinary,2, 1)):savebits2 =字节2和15
字节3 = AscB(多重交替焙烘显影工艺(lsgroupbinary,3, 1))
字符串=多重交替焙烘显影工艺(sbase_64_characters,((((区252)4)1, 1)
- =多重交替焙烘显影工艺(sbase_64_characters,((((((((字节2和240)或(16)savebits1×16)和HFF)+ 1, 1)
char3 =多重交替焙烘显影工艺(sbase_64_characters,((((((((字节3和192)或(64)savebits2×4)和HFF)+ 1, 1)
如果M3 = 1,那么
lsgroup64 =字符串ChrB -(61)(61)= ChrB数补数
其他的
lsgroup64 =字符串的位置char3 ChrB(61)使用=数补数
最后如果
lsresult = lsresult lsgroup64
最后如果
Base64编码= lsresult
端功能
功能base64decode(ascontents)
转换为ANSI编码串的Base64编码的字符串
ascontents也应该通过ANSI字符串编码(二进制字符串也可以)
昏暗的lsresult
昏暗的lnposition
昏暗的lsgroup64,lsgroupbinary
昏暗的字符串,字符串,char3,四
暗区,字节2字节3
昏暗的M4,len1,len2个
len1 = lenb(ascontents)
M4 = len1 mod 4
如果len1 0
字符串长度应该是4的乘数。
= base64decode
退出功能
最后如果
这是最后的裁判。
倒数倒数第二是=数
这里的M4表示需要单独处理的最后剩余字符数。
如果多重交替焙烘显影工艺(ascontents,len1,1)=(61)然后M4 ChrB = 3
如果多重交替焙烘显影工艺(ascontents,len1-1,1)=(61)然后M4 ChrB = 2
如果M4 = 0然后
len1 len2个=
其他的
len1-4 len2个=
最后如果
对于lnposition = 1 len2个步骤4
lsgroupbinary =
lsgroup64 =多重交替焙烘显影工艺(ascontents,lnposition,4)
字符串= instrb(sbase_64_characters,多重交替焙烘显影工艺(lsgroup64,1, 1))- 1
- = instrb(sbase_64_characters,多重交替焙烘显影工艺(lsgroup64,2, 1))- 1
char3 = instrb(sbase_64_characters,多重交替焙烘显影工艺(lsgroup64,3, 1))- 1
(四= instrb sbase_64_characters,多重交替焙烘显影工艺(lsgroup64,4, 1))- 1
48个= ChrB ((((((位置)或(16)字符串* 4)和HFF)
字节2 = lsgroupbinary ChrB ((((( char3和60)或(4)- * 16)和HFF)
字节3 = ChrB ((((((((((( char3 3)* 64)和HFF)或(四63))
lsgroupbinary =个字节2字节3
lsresult = lsresult lsgroupbinary
下一个
处理最后几个字符
如果M4>0,那么
lsgroupbinary =
lsgroup64 =多重交替焙烘显影工艺(ascontents,len2个+ 1,M4)'chr ChrB(65)(65)= A,转换为0值
如果M4 = 2,那么4位补充以便于计算。
lsgroup64 = lsgroup64 ChrB(65)
最后如果
字符串= instrb(sbase_64_characters,多重交替焙烘显影工艺(lsgroup64,1, 1))- 1
- = instrb(sbase_64_characters,多重交替焙烘显影工艺(lsgroup64,2, 1))- 1
char3 = instrb(sbase_64_characters,多重交替焙烘显影工艺(lsgroup64,3, 1))- 1
(四= instrb sbase_64_characters,多重交替焙烘显影工艺(lsgroup64,4, 1))- 1
48个= ChrB ((((((位置)或(16)字符串* 4)和HFF)
字节2 = lsgroupbinary ChrB ((((( char3和60)或(4)- * 16)和HFF)
字节3 = ChrB ((((((((((( char3 3)* 64)和HFF)或(四63))
如果M4 = 2然后
lsgroupbinary =区
M4 = 3
lsgroupbinary =个字节2
最后如果
lsresult = lsresult lsgroupbinary
最后如果
base64decode = lsresult
端功能
%>