分类

专用链接加解密 1.0 绿色免费版

专用链接加解密 1.0 绿色免费版 xx

大小:34KB更新日期:2008/01/07

类别:系统软件语言:简体中文

已下架

    【主要代码如下】
    '(注:我自己用的不是这种方法,我讨厌For循环.)
    Option Explicit
    Private Const cstBase64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
    Private arrBase64() As String
    '作者:同济黄正
    '00100001 00100001 00100001             --源码
    '00001000 00010010 00000100 00100001    --Base64码

    Public Function Base64Encode(strSource As String) As String
    On Error Resume Next
    '适用于中、英文的Base64编码/解码VB6超精简版 作者:同济黄正
    If UBound(arrBase64) = -1 Then
        arrBase64 = Split(StrConv(cstBase64, vbUnicode), vbNullChar)
    End If
    Dim arrB() As Byte, bTmp(2)  As Byte, bT As Byte
    Dim I As Long, J As Long
    arrB = StrConv(strSource, vbFromUnicode)

    J = UBound(arrB)
    For I = 0 To J Step 3
        Erase bTmp
        bTmp(0) = arrB(I + 0)
        bTmp(1) = arrB(I + 1)
        bTmp(2) = arrB(I + 2)
        
        bT = (bTmp(0) And 252) / 4
        Base64Encode = Base64Encode & arrBase64(bT)
        
        bT = (bTmp(0) And 3) * 16
        bT = bT + bTmp(1) \ 16
        Base64Encode = Base64Encode & arrBase64(bT)
        
        bT = (bTmp(1) And 15) * 4
        bT = bT + bTmp(2) \ 64
        If I + 1 <= J Then
            Base64Encode = Base64Encode & arrBase64(bT)
        Else
            Base64Encode = Base64Encode & "="
        End If
        
        bT = bTmp(2) And 63
        If I + 2 <= J Then
            Base64Encode = Base64Encode & arrBase64(bT)
        Else
            Base64Encode = Base64Encode & "="
        End If
    Next
    End Function

    Public Function Base64Decode(strEncoded As String) As String
    '适用于中、英文的Base64编码/解码VB6超精简版 作者:同济黄正
    On Error Resume Next
    Dim arrB() As Byte, bTmp(3)  As Byte, bT, bRet() As Byte
    Dim I As Long, J As Long
    arrB = StrConv(strEncoded, vbFromUnicode)
    J = InStr(strEncoded & "=", "=") - 2
    ReDim bRet(J - J \ 4 - 1)
    For I = 0 To J Step 4
        Erase bTmp
        bTmp(0) = (InStr(cstBase64, Chr(arrB(I))) - 1) And 63
        bTmp(1) = (InStr(cstBase64, Chr(arrB(I + 1))) - 1) And 63
        bTmp(2) = (InStr(cstBase64, Chr(arrB(I + 2))) - 1) And 63
        bTmp(3) = (InStr(cstBase64, Chr(arrB(I + 3))) - 1) And 63
        
        bT = bTmp(0) * 2 ^ 18 + bTmp(1) * 2 ^ 12 + bTmp(2) * 2 ^ 6 + bTmp(3)
        
        bRet((I \ 4) * 3) = bT \ 65536
        bRet((I \ 4) * 3 + 1) = (bT And 65280) \ 256
        bRet((I \ 4) * 3 + 2) = bT And 255
    Next
    Base64Decode = StrConv(bRet, vbUnicode)
    End Function

    显示全部

    网友评论
    我要跟贴
    精品推荐

    猜你喜欢

    • 沙威玛传奇
    • 真人互动剧情类手游
    • 最真实的警察模拟类游戏
    • 中式风格恐怖游戏
    • 末日生存打僵尸游戏

    沙威玛传奇

    沙威玛传奇是款很受玩家欢迎的手机游戏,这款游戏中有超多不同国家的美食食谱,您可以感受到土耳其的风土人情,还能用美食征服全世界的顾客!喜欢美食经营及美食制作的顾客千万不能错过。

    相关下载

    0