你的位置:首页 -> 软件分类 -> 网络软件 -> 下载工具 -> 专用链接加解密 v1.0【支持迅雷、网际快车、QQ超级旋风等】绿色免费版
精彩推荐

专用链接加解密 v1.0【支持迅雷、网际快车、QQ超级旋风等】绿色免费版

  • 软件名称: 专用链接加解密 v1.0【支持迅雷、网际快车、QQ超级旋风等】绿色免费版
  • 软件大小: .032 MB
  • 软件语言: 简体中文
  • 软件国别: 国产软件
  • 授权方式: 免费版
  • 软件分类: 网络软件/下载工具
  • 应用平台: Win9x/Me/NT/2000/XP/2003
  • 界面预览: 见右边图片
  • 加入时间: 2008-1-8 8:30:50
  • 页面更新: 2008-1-30 14:54:18
  • 推荐等级: 3星级
  • 软件更新: 东方绿色下载网
软件介绍:


【主要代码如下】
'(注:我自己用的不是这种方法,我讨厌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


| 关于本站 | 联系我们 | 版权声明 | 下载帮助 | 软件发布 | 报告错误 | 管理登录 |
东方绿色下载网  Copyright© 2006 - 2008 All Rights Reserved  
XHTML 1.0 Transitional Css Validator RSS 2.0 Get firefox
 Powered By 东方绿色下载网