复制代码 代码如下:
FunctionfDecode(sStringToDecode)
'ThisfunctionwilldecodeaBase64encodedstringandreturnsthedecodedstring.
'Thisbecomesusefullwhenattemptingtohidepasswordsfrompryingeyes.
ConstCharList="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
DimiDataLength,sOutputString,iGroupInitialCharacter
sStringToDecode=Replace(Replace(Replace(sStringToDecode,vbCrLf,""),vbTab,""),"","")
iDataLength=Len(sStringToDecode)
IfiDataLengthMod4<>0Then
fDecode="BadstringpassedtofDecode()function."
ExitFunction
EndIf
ForiGroupInitialCharacter=1ToiDataLengthStep4
DimiDataByteCount,iCharacterCounter,sCharacter,iData,iGroup,sPreliminaryOutString
iDataByteCount=3
iGroup=0
ForiCharacterCounter=0To3
sCharacter=Mid(sStringToDecode,iGroupInitialCharacter+iCharacterCounter,1)
IfsCharacter="="Then
iDataByteCount=iDataByteCount-1
iData=0
Else
iData=InStr(1,CharList,sCharacter,0)-1
IfiData=-1Then
fDecode="BadstringpassedtofDecode()function."
ExitFunction
EndIf
EndIf
iGroup=64*iGroup+iData
Next
iGroup=Hex(iGroup)
iGroup=String(6-Len(iGroup),"0")&iGroup
sPreliminaryOutString=Chr(CByte("&H"&Mid(iGroup,1,2)))&Chr(CByte("&H"&Mid(iGroup,3,2)))&Chr(CByte("&H"&Mid(iGroup,5,2)))
sOutputString=sOutputString&Left(sPreliminaryOutString,iDataByteCount)
Next
fDecode=sOutputString
EndFunction
vbs代码打包