CryptoSys API Library Manual

DES_InitHex

Initialises the context with the key, direction and mode ready for repeated operations of the DES function. The key and IV data are provided in hexadecimal format.

VBA/VB6 Syntax

Public Declare Function DES_InitHex Lib "diCryptoSys.dll" (ByVal strHexKey As String, ByVal bEncrypt As Boolean, ByVal strMode As String, ByVal strHexIV As String) As Long

hContext = DES_InitHex(strHexKey, bEncrypt, strMode, strHexIV)

C/C++ Syntax

long __stdcall DES_InitHex(const char *szKey, int fEncrypt, const char *szMode, const char *szIV);

Parameters

szKey
[in] containing the key in hexadecimal representation.
fEncrypt
[in] direction flag: set as ENCRYPT (True) to encrypt or DECRYPT (False) to decrypt.
szMode
[in] specifying the confidentiality mode:
"ECB" for Electronic Codebook mode,
"CBC" for Cipher Block Chaining mode,
"CFB" for 64-bit Cipher Feedback mode,
"OFB" for Output Feedback mode, or
"CTR" for Counter mode.
szIV
[in] containing the initialization vector in hexadecimal.

Returns (VBA/C)

Non-zero handle of the context hContext to be used in subsequent calls to the functions DES_Update, DES_UpdateHex or DES_Final. Returns zero if an error occurs.

.NET Equivalent

Des.InitEncrypt Method (String, Mode, String)
Des.InitDecrypt Method (String, Mode, String)

Remarks

The key string szHexKey must be exactly 16 hex characters long (i.e. representing exactly 8 bytes/64 bits). The initialization vector string szHexIV must be exactly 16 hex characters long (i.e. representing exactly the block size of 8 bytes), except for ECB mode, where it is ignored (use ""). Valid hexadecimal characters are [0-9A-Fa-f]. Unlike most other functions in this API, DES_InitHex returns zero if an error occurs. It is important to check that the value of hContext returned is not equal to zero before calling a DES_Update function.

Example

See DES_UpdateHex.

See Also

DES_Init DES_UpdateHex DES_Update DES_Final

[Contents] [Index]

[PREV: DES_InitError...]   [Contents]   [Index]   
   [NEXT: DES_Update...]

Copyright © 2001-24 D.I. Management Services Pty Ltd. All rights reserved. Generated 2024-01-07T07:42:00Z.