The encoding code is changed in a piece of code written by others.
'Encrypting the input byte, so you can encrypt the secondary file, and return a string of a BA64.
Function B64E (InData () as Byte) AS String
ON Error ResMe next
Const base64 = "Abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789 /"
DIM UB as long, LB as long 'array upper limit and lower limit
DIM Sout, Cout, I
DIM NGROUP AS Long
DIM Pout, SGROUP
Ub = ubound (inData)
Dim Second as Byte
Dim thrid as byte
lb = lbound (inData)
IF Err.Number <> 0 THEN
B64E = ""
EXIT FUNCTION
END IF
For i = lb to UB Step 3
IF i 1> ub then
SECOND = 0
Thrid = 0
Elseif i 2> ub kil
SECOND = Indata (i 1)
Thrid = 0
Else
SECOND = Indata (i 1)
Thrid = Indata (i 2)
END IF
NGroup = & h10000 * indata (i) & h100 * second thrid
sgroup = Oct (ngroup)
SGROUP = String (8 - len (sgroup), "0") SGROUP
Pout = MID (Base64, CLNG ("& O" MID (SGROUP, 1, 2)) 1, 1) MID (Base64, ClNG ("& O" MID (SGROUP, 3, 2)) 1, 1 ) MID (Base64, CLNG ("& O" MID (SGROUP, 5, 2)) 1, 1) MID (Base64, ClNG ("& O" MID (SGROUP, 7, 2)) 1, 1 )
Sout = SOUT POUT
IF (i 2) MOD 57 = 0 THEN SOUT = SOUT VBCRLF
ngroup = 0
Next i
SELECT CASE (UB - LB 1) MOD 3
Case 1
Sout = Left (Sout, Len (Sout) - 2) "=="
Case 2
Sout = Left (Sout, Len (Sout) - 1) "="
End selectb64e = sout
END FUNCTION
'Return is also a one-piece array
Public Function B64U (Byval Indata As String, Outdata () AS BYTE AS BOOLEAN
ON Error Goto Errhandle
Const base64 = "Abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789 /"
DIM UB as long, LB as long 'array upper limit and lower limit
DIM Sout, Cout, I
DIM NGROUP AS Long
DIM Pout, SGROUP
Indata = Replace (InData, VBCRLF, ")
Redim Outdata (0 to (Int (INDATA) / 4) 1) * 3 - 1) AS BYTE
For i = 1 to (Len (Indata) - Len (Indata) MOD 4) Step 4
ngroup = & O1000000 * (INSTR (Base64, MID (INDATA, I, 1)) - 1) & O10000 * (INDATA, I 1, 1)) - 1) _ _
& O100 * (IIF (IIF (Base64, MID (INDATA, I 2, 1)) = 0, 1, INSTR (Base64, MID (INDATA, I 2, 1))) - 1) _
(IIF (IIF (Base64, MID (INDATA, I 3, 1)) = 0, 1, INSTR (Base64, MID (INDATA, I 3, 1)) - 1)
SGroup = trim (HEX (ngroup) 'is transferred to 16
SGroup = String (6 - len (sgroup), "0") & sgroup 'If not enough, use 0 to make up
Outdata (INT (I / 4) * 3) = VAL ("& H" & MID (SGROUP, 1, 2))
Outdata (int (I / 4) * 3 1) = VAL ("& H" & MID (SGROUP, 3, 2))
Outdata (int (I / 4) * 3 2) = VAL ("& H" & MID (SGROUP, 5, 2))
Next i
Select Case Len (Indata) - Len (Replace (INDATA, "=", ""))
Case 1
Redim Preserve Outdata (0 To (INTATA) / 4) 1) * 3 - 2) AS Bytecase 2
Redim Preserve Outdata (0 to (INDATA) / 4) 1) * 3 - 3) AS BYTE
End SELECT
B64U = true
EXIT FUNCTION
Errhandle:
B64U = false
END FUNCTION
'This code can encrypt binary data, no problem like image files,
Call method:
Private submmand1_click ()
DIM arrstr () as byte
Arrstr = strconv (text1.text, vbfromunicode)
Text2.text = b64e (arrstr)
End Sub
Private sub fascist2_click ()
Dim outdata () as Byte
IF B64U (Text2.Text, Outdata) = True Then
Text1.text = cstr (Outdata)
END IF
End Sub