' arnelgp
Function StringToHex(inputString As String) As String
Dim bytes() As Byte
Dim i As Long
Dim hexString As String
' Convert string to bytes
bytes = StrConv(inputString, vbFromUnicode)
' Convert bytes to hexadecimal representation
For i = LBound(bytes) To UBound(bytes)
hexString = hexString & Right("0" & Hex(bytes(i)), 2)
Next i
StringToHex = hexString
End Function
Function HexToString(hexString As String) As String
Dim i As Long
Dim outputString As String
' Convert each pair of hexadecimal characters to bytes
For i = 1 To Len(hexString) Step 2
outputString = outputString & ChrW("&H" & Mid(hexString, i, 2))
Next i
HexToString = outputString
End Function
Public Function EncodeToBase64(ByVal inputString As String) As String
Dim arrData() As Byte
arrData = StrConv(inputString, vbFromUnicode)
Dim objXML As Object
Set objXML = CreateObject("MSXML2.DOMDocument")
Dim objNode As Object
Set objNode = objXML.createElement("b64")
objNode.DataType = "bin.base64"
objNode.nodeTypedValue = arrData
EncodeToBase64 = Replace(objNode.text, vbLf, "")
Set objNode = Nothing
Set objXML = Nothing
End Function
Public Function DecodeFromBase64(ByVal base64String As String) As String
Dim objXML As Object
Set objXML = CreateObject("MSXML2.DOMDocument")
Dim objNode As Object
Set objNode = objXML.createElement("b64")
objNode.DataType = "bin.base64"
objNode.text = base64String
Dim byteArray() As Byte
byteArray = objNode.nodeTypedValue
DecodeFromBase64 = StrConv(byteArray, vbUnicode)
Set objNode = Nothing
Set objXML = Nothing
End Function