STM32F439xx HAL User Manual
Functions
HASH-MAC (HMAC) processing functions using polling mode
HASH Exported Functions

HMAC processing functions using polling mode . More...

Functions

HAL_StatusTypeDef HAL_HMAC_MD5_Start (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer, uint32_t Timeout)
 Initializes the HASH peripheral in HMAC MD5 mode then processes pInBuffer.
HAL_StatusTypeDef HAL_HMAC_SHA1_Start (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer, uint32_t Timeout)
 Initializes the HASH peripheral in HMAC SHA1 mode then processes pInBuffer.
HAL_StatusTypeDef HAL_HASH_SHA1_Start_DMA (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size)
 Initializes the HASH peripheral in SHA1 mode then enables DMA to control data transfer.
HAL_StatusTypeDef HAL_HASH_SHA1_Finish (HASH_HandleTypeDef *hhash, uint8_t *pOutBuffer, uint32_t Timeout)
 Returns the computed digest in SHA1 mode.
HAL_StatusTypeDef HAL_HASH_MD5_Start_DMA (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size)
 Initializes the HASH peripheral in MD5 mode then enables DMA to control data transfer.
HAL_StatusTypeDef HAL_HASH_MD5_Finish (HASH_HandleTypeDef *hhash, uint8_t *pOutBuffer, uint32_t Timeout)
 Returns the computed digest in MD5 mode.

Detailed Description

HMAC processing functions using polling mode .

 ===============================================================================
              ##### HMAC processing using polling mode functions #####
 ===============================================================================  
    [..]  This section provides functions allowing to calculate in polling mode
          the HMAC value using one of the following algorithms:
      (+) MD5
      (+) SHA1


Function Documentation

HAL_StatusTypeDef HAL_HASH_MD5_Finish ( HASH_HandleTypeDef hhash,
uint8_t *  pOutBuffer,
uint32_t  Timeout 
)

Returns the computed digest in MD5 mode.

Parameters:
hhashpointer to a HASH_HandleTypeDef structure that contains the configuration information for HASH module
pOutBufferPointer to the computed digest. Its size must be 16 bytes.
TimeoutTimeout value
Return values:
HALstatus

Definition at line 1207 of file stm32f4xx_hal_hash.c.

References HAL_GetTick(), HAL_HASH_STATE_BUSY, HAL_HASH_STATE_READY, HAL_HASH_STATE_TIMEOUT, HASH_FLAG_DCIS, HASH_GetDigest(), and HASH_HandleTypeDef::State.

HAL_StatusTypeDef HAL_HASH_MD5_Start_DMA ( HASH_HandleTypeDef hhash,
uint8_t *  pInBuffer,
uint32_t  Size 
)

Initializes the HASH peripheral in MD5 mode then enables DMA to control data transfer.

Use HAL_HASH_MD5_Finish() to get the digest.

Parameters:
hhashpointer to a HASH_HandleTypeDef structure that contains the configuration information for HASH module
pInBufferPointer to the input buffer (buffer to be hashed).
SizeLength of the input buffer in bytes. If the Size is not multiple of 64 bytes, the padding is managed by hardware.
Return values:
HALstatus

Definition at line 1157 of file stm32f4xx_hal_hash.c.

References __HAL_HASH_SET_NBVALIDBITS, HAL_DMA_Start_IT(), HAL_HASH_PHASE_PROCESS, HAL_HASH_PHASE_READY, HAL_HASH_STATE_BUSY, HASH_ALGOSELECTION_MD5, HASH_DMAError(), HASH_DMAXferCplt(), HASH_HandleTypeDef::hdmain, HASH_HandleTypeDef::Phase, HASH_HandleTypeDef::State, __DMA_HandleTypeDef::XferCpltCallback, and __DMA_HandleTypeDef::XferErrorCallback.

HAL_StatusTypeDef HAL_HASH_SHA1_Finish ( HASH_HandleTypeDef hhash,
uint8_t *  pOutBuffer,
uint32_t  Timeout 
)

Returns the computed digest in SHA1 mode.

Parameters:
hhashpointer to a HASH_HandleTypeDef structure that contains the configuration information for HASH module
pOutBufferPointer to the computed digest. Its size must be 20 bytes.
TimeoutTimeout value
Return values:
HALstatus

Definition at line 1312 of file stm32f4xx_hal_hash.c.

References HAL_GetTick(), HAL_HASH_STATE_BUSY, HAL_HASH_STATE_READY, HAL_HASH_STATE_TIMEOUT, HASH_FLAG_DCIS, HASH_GetDigest(), and HASH_HandleTypeDef::State.

HAL_StatusTypeDef HAL_HASH_SHA1_Start_DMA ( HASH_HandleTypeDef hhash,
uint8_t *  pInBuffer,
uint32_t  Size 
)

Initializes the HASH peripheral in SHA1 mode then enables DMA to control data transfer.

Use HAL_HASH_SHA1_Finish() to get the digest.

Parameters:
hhashpointer to a HASH_HandleTypeDef structure that contains the configuration information for HASH module
pInBufferPointer to the input buffer (buffer to be hashed).
SizeLength of the input buffer in bytes. If the Size is not multiple of 64 bytes, the padding is managed by hardware.
Return values:
HALstatus

Definition at line 1261 of file stm32f4xx_hal_hash.c.

References __HAL_HASH_SET_NBVALIDBITS, HAL_DMA_Start_IT(), HAL_HASH_PHASE_PROCESS, HAL_HASH_PHASE_READY, HAL_HASH_STATE_BUSY, HASH_ALGOSELECTION_SHA1, HASH_DMAError(), HASH_DMAXferCplt(), HASH_HandleTypeDef::hdmain, HASH_HandleTypeDef::Phase, HASH_HandleTypeDef::State, __DMA_HandleTypeDef::XferCpltCallback, and __DMA_HandleTypeDef::XferErrorCallback.

HAL_StatusTypeDef HAL_HMAC_MD5_Start ( HASH_HandleTypeDef hhash,
uint8_t *  pInBuffer,
uint32_t  Size,
uint8_t *  pOutBuffer,
uint32_t  Timeout 
)

Initializes the HASH peripheral in HMAC MD5 mode then processes pInBuffer.

The digest is available in pOutBuffer

Parameters:
hhashpointer to a HASH_HandleTypeDef structure that contains the configuration information for HASH module
pInBufferPointer to the input buffer (buffer to be hashed).
SizeLength of the input buffer in bytes. If the Size is not multiple of 64 bytes, the padding is managed by hardware.
pOutBufferPointer to the computed digest. Its size must be 20 bytes.
TimeoutTimeout value
Return values:
HALstatus

Definition at line 1388 of file stm32f4xx_hal_hash.c.

References __HAL_HASH_SET_NBVALIDBITS, __HAL_HASH_START_DIGEST, HAL_GetTick(), HAL_HASH_PHASE_PROCESS, HAL_HASH_PHASE_READY, HAL_HASH_STATE_BUSY, HAL_HASH_STATE_READY, HAL_HASH_STATE_TIMEOUT, HASH_ALGOMODE_HMAC, HASH_ALGOSELECTION_MD5, HASH_FLAG_BUSY, HASH_GetDigest(), HASH_HMAC_KEYTYPE_LONGKEY, HASH_WriteData(), HASH_HandleTypeDef::Init, HASH_InitTypeDef::KeySize, HASH_HandleTypeDef::Phase, HASH_InitTypeDef::pKey, and HASH_HandleTypeDef::State.

HAL_StatusTypeDef HAL_HMAC_SHA1_Start ( HASH_HandleTypeDef hhash,
uint8_t *  pInBuffer,
uint32_t  Size,
uint8_t *  pOutBuffer,
uint32_t  Timeout 
)

Initializes the HASH peripheral in HMAC SHA1 mode then processes pInBuffer.

The digest is available in pOutBuffer.

Parameters:
hhashpointer to a HASH_HandleTypeDef structure that contains the configuration information for HASH module
pInBufferPointer to the input buffer (buffer to be hashed).
SizeLength of the input buffer in bytes. If the Size is not multiple of 64 bytes, the padding is managed by hardware.
pOutBufferPointer to the computed digest. Its size must be 20 bytes.
TimeoutTimeout value
Return values:
HALstatus

Definition at line 1533 of file stm32f4xx_hal_hash.c.

References __HAL_HASH_SET_NBVALIDBITS, __HAL_HASH_START_DIGEST, HAL_GetTick(), HAL_HASH_PHASE_PROCESS, HAL_HASH_PHASE_READY, HAL_HASH_STATE_BUSY, HAL_HASH_STATE_READY, HAL_HASH_STATE_TIMEOUT, HASH_ALGOMODE_HMAC, HASH_ALGOSELECTION_SHA1, HASH_FLAG_BUSY, HASH_GetDigest(), HASH_HMAC_KEYTYPE_LONGKEY, HASH_WriteData(), HASH_HandleTypeDef::Init, HASH_InitTypeDef::KeySize, HASH_HandleTypeDef::Phase, HASH_InitTypeDef::pKey, and HASH_HandleTypeDef::State.