• 计算机讨论版
  • 电脑诊所
  • 菜鸟学院
  • 软件世界
  • 安全专区
  • 硬件世界
  • 网络世界
  • 网页设计
  • 图像设计
  • 程序设计
  • 操作系统
  • 计算机考试
  • 电脑故障
  • 电脑学习
  • 电脑技术
  • 电脑入门
  • 计算机知识
  • 电脑之家
  • 故障诊断
  • 电脑医院
  • 电脑学校
  • 电脑维护
  • 电脑医生
  • 电脑问答
  • 计算机问题
  • 电脑小知识
  • 电脑软件
  • 电脑diy
  • 你问我答
  • 网友俱乐部
  • 实用技巧
  • 初级应用
  • 心得分享
  • 软硬兼施
  • 电脑之家
  • 维护资料
  • 软件应用
  • 软件交流
  • 电脑硬件
  • 硬件知识
  • 电脑网络
  • windows
  • 程序设计

    程序设计
    ·Enc-Base64位加密程序源代码下[分享]
    ·哪里有下vb6软件和vb6教程的?
    ·需要两段代码,希望有人帮忙
    ·+++++++++关于cpu利用率滴c程序,各位c大...
    ·请问一个关于c语言的菜问题
    ·小菜一问  !
    ·关于DAO
    ·直接通过ODBCAPI访问SQL数据库(一)
    ·有没有什么地方下载ASP论坛源代码的啊
    ·关于算法
    ·win 2003的IIS
    ·[求助]VB读取顺序文件,空格符不起作用。急!
    ·这里有人玩Qbasick吗?很古老的那种?
    ·直接通过ODBCAPI访问SQL数据库(二)
    ·请问xp中可以用tc编程吗
    ·帮帮忙~TD有win2000下的编译和连接程序么~
    ·vc++如何立即重绘窗口?
    ·请教如何用asp弄的图片刷新显示
    ·Melissa的源码[转帖]
    ·[原创]如何取得计算机名
    ·各位大虾帮帮忙了
    ·[求助]关于vb
    ·SQL和VB的问题
    ·我提一下意见,关于板块的改进!
    ·请教一个入门问题,ACCESS
    ·[注意]    寻找编程爱好者!!!
    ·ACCESS 小问题?,先谢了!!
    ·新手请教个问题
    ·关于VB语言和怎样学习VB
    ·初学者的一个问题

    [分享]Enc-Base64位加密程序源代码上

    类别: 程序设计  时间: 2007.03.15

    小鸟伊人
    [分享]Enc-Base64位加密程序源代码上
    创建一个新类,即可调用该类的加密和解密方法
    Option Explicit

    'Base64编码函数:Base64Encode
    'Instr1    编码前字符串
    'Outstr1    编码后字符串
    Public Function Base64Encode(InStr1 As String) As String
        Dim mInByte(3) As Byte, mOutByte(4) As Byte
        Dim myByte As Byte
        Dim i As Integer, LenArray As Integer, j As Integer
        Dim myBArray() As Byte
        Dim OutStr1 As String
        
        myBArray() = StrConv(InStr1, vbFromUnicode)
        LenArray = UBound(myBArray) + 1
        For i = 0 To LenArray Step 3
            If LenArray - i = 0 Then
                Exit For
            End If
            If LenArray - i = 2 Then
                mInByte(0) = myBArray(i)
                mInByte(1) = myBArray(i + 1)
                Base64EncodeByte mInByte, mOutByte, 2
            ElseIf LenArray - i = 1 Then
                mInByte(0) = myBArray(i)
                Base64EncodeByte mInByte, mOutByte, 1
            Else
                mInByte(0) = myBArray(i)
                mInByte(1) = myBArray(i + 1)
                mInByte(2) = myBArray(i + 2)
                Base64EncodeByte mInByte, mOutByte, 3
            End If
            For j = 0 To 3
                OutStr1 = OutStr1 & Chr(mOutByte(j))
            Next j
        Next i
        Base64Encode = OutStr1
    End Function

    Private Sub Base64EncodeByte(mInByte() As Byte, mOutByte() As Byte, Num As Integer)
       Dim tByte As Byte
       Dim i As Integer

       If Num = 1 Then
           mInByte(1) = 0
           mInByte(2) = 0
       ElseIf Num = 2 Then
           mInByte(2) = 0
       End If
       tByte = mInByte(0) And &HFC
       mOutByte(0) = tByte / 4
       tByte = ((mInByte(0) And &H3) * 16) + (mInByte(1) And &HF0) / 16
       mOutByte(1) = tByte
       tByte = ((mInByte(1) And &HF) * 4) + ((mInByte(2) And &HC0) / 64)
       mOutByte(2) = tByte
       tByte = (mInByte(2) And &H3F)
       mOutByte(3) = tByte
       For i = 0 To 3
           If mOutByte(i) >= 0 And mOutByte(i) <= 25 Then
               mOutByte(i) = mOutByte(i) + Asc("A")
           ElseIf mOutByte(i) >= 26 And mOutByte(i) <= 51 Then
               mOutByte(i) = mOutByte(i) - 26 + Asc("a")
           ElseIf mOutByte(i) >= 52 And mOutByte(i) <= 61 Then
               mOutByte(i) = mOutByte(i) - 52 + Asc("0")
           ElseIf mOutByte(i) = 62 Then
               mOutByte(i) = Asc("+")
           Else
               mOutByte(i) = Asc("/")
           End If
       Next i
       If Num = 1 Then
           mOutByte(2) = Asc("=")
           mOutByte(3) = Asc("=")
       ElseIf Num = 2 Then
           mOutByte(3) = Asc("=")
       End If
    End Sub

    Public Function Base64Decode(InStr1 As String) As String
       Dim mInByte(4) As Byte, mOutByte(3) As Byte
       Dim i As Integer, LenArray As Integer, j As Integer
       Dim myBArray() As Byte
       Dim OutStr1 As String
       Dim tmpArray() As Byte

       myBArray() = StrConv(InStr1, vbFromUnicode)
       LenArray = UBound(myBArray)
       ReDim tmpArray(((LenArray + 1) / 4) * 3)
        j = 0
        
        For i = 0 To LenArray Step 4
           If LenArray - i = 0 Then
               Exit For
    Else
                mInByte(0) = myBArray(i)
                mInByte(1) = myBArray(i + 1)


    hgs

    ENC

    上一篇:Enc-Base64位加密程序源代码下[分享] 下一篇:帮帮忙~TD有win2000下的编译和连接程序么~

    计算机讨论版 © 版权所有

    提示:计算机讨论版致力于电脑信息的分享与传播,内容仅供参考,按此操作责任自负。