Carries out the DES transformation function on a hexadecimal string
according to the direction
and mode set up by an earlier call to DES_Init
or DES_InitHex.
Public Declare Function DES_UpdateHex Lib "diCryptoSys.dll"
(ByVal hContext As Long, ByVal strHexString As String) As Long
nRet = DES_UpdateHex(hContext, strHexString)
Long handle to the DES context set up by an earlier call to
DES_Init or DES_InitHex.String containing input in hexadecimal format
to be processed by the DES function and to receive the output.
long _stdcall DES_UpdateHex(long ctx_handle, char *lpszHex);
Long: If successful, the return value is 0;
otherwise it returns a non-zero error code.
Des.Update Method (String)
strHexString must be a multiple of 16 hex characters long (i.e. representing a multiple of 8 bytes). If not, an error code will be returned. Valid hexadecimal characters are [0-9A-Fa-f]. Note that the output overwrites the input. strHexString must be a variable that can receive the output, not a constant.
Dim nRet As Long
Dim hContext As Long
Dim strKey As String
Dim strHexString As String
Dim sCorrect As String
strKey = "0123456789abcdef"
Debug.Print "KY="; strKey
' Initialise the context
hContext = DES_InitHex(strKey, True, "ECB", "")
If hContext = 0 Then
' Always check for error
MsgBox "Unable to initialise DES context", vbCritical
Exit Function
End If
strHexString = "4e6f772069732074"
Debug.Print "PT="; strHexString
nRet = DES_UpdateHex(hContext, strHexString)
Debug.Print "CT="; strHexString
Debug.Print "OK="; "3fa40e8a984d4815"
strHexString = "68652074696d6520666f7220616c6c20"
Debug.Print "PT="; strHexString
nRet = DES_UpdateHex(hContext, strHexString)
Debug.Print "CT="; strHexString
Debug.Print "OK="; "6a271787ab8883f9893d51ec4b563b53"
nRet = DES_Final(hContext)
This should result in output as follows:
KY=0123456789abcdef PT=4e6f772069732074 CT=3FA40E8A984D4815 OK=3fa40e8a984d4815 PT=68652074696d6520666f7220616c6c20 CT=6A271787AB8883F9893D51EC4B563B53 OK=6a271787ab8883f9893d51ec4b563b53
DES_Init
DES_InitHex
DES_Update
DES_Final