STM32F439xx HAL User Manual
Functions
HASH processing functions using interrupt mode
HASH Exported Functions

processing functions using interrupt mode. More...

Functions

HAL_StatusTypeDef HAL_HASH_MD5_Start_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer)
 Initializes the HASH peripheral in MD5 mode then processes pInBuffer.
HAL_StatusTypeDef HAL_HASH_SHA1_Start_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer)
 Initializes the HASH peripheral in SHA1 mode then processes pInBuffer.
void HAL_HASH_IRQHandler (HASH_HandleTypeDef *hhash)
 This function handles HASH interrupt request.
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_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.

Detailed Description

processing functions using interrupt mode.

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


Function Documentation

This function handles HASH interrupt request.

Parameters:
hhashpointer to a HASH_HandleTypeDef structure that contains the configuration information for HASH module
Return values:
None

Definition at line 1110 of file stm32f4xx_hal_hash.c.

References HAL_HASH_MD5_Start_IT(), HAL_HASH_SHA1_Start_IT(), HASH_ALGOSELECTION_MD5, and HASH_ALGOSELECTION_SHA1.

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

Initializes the HASH peripheral in 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 16 bytes.
Return values:
HALstatus

Definition at line 797 of file stm32f4xx_hal_hash.c.

References __HAL_HASH_GET_FLAG, __HAL_HASH_SET_NBVALIDBITS, __HAL_HASH_START_DIGEST, HAL_HASH_DgstCpltCallback(), HAL_HASH_InCpltCallback(), HAL_HASH_PHASE_PROCESS, HAL_HASH_PHASE_READY, HAL_HASH_STATE_BUSY, HAL_HASH_STATE_READY, HASH_ALGOSELECTION_MD5, HASH_FLAG_DCIS, HASH_FLAG_DINIS, HASH_IT_DCI, HASH_IT_DINI, HASH_HandleTypeDef::HashInCount, HASH_HandleTypeDef::HashITCounter, HASH_HandleTypeDef::Phase, HASH_HandleTypeDef::pHashInBuffPtr, HASH_HandleTypeDef::pHashOutBuffPtr, and HASH_HandleTypeDef::State.

Referenced by HAL_HASH_IRQHandler().

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

Initializes the HASH peripheral in 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.
Return values:
HALstatus

Definition at line 956 of file stm32f4xx_hal_hash.c.

References __HAL_HASH_GET_FLAG, __HAL_HASH_SET_NBVALIDBITS, __HAL_HASH_START_DIGEST, HAL_HASH_DgstCpltCallback(), HAL_HASH_InCpltCallback(), HAL_HASH_PHASE_PROCESS, HAL_HASH_PHASE_READY, HAL_HASH_STATE_BUSY, HAL_HASH_STATE_READY, HASH_ALGOSELECTION_SHA1, HASH_FLAG_DCIS, HASH_FLAG_DINIS, HASH_IT_DCI, HASH_IT_DINI, HASH_HandleTypeDef::HashInCount, HASH_HandleTypeDef::HashITCounter, HASH_HandleTypeDef::Phase, HASH_HandleTypeDef::pHashInBuffPtr, HASH_HandleTypeDef::pHashOutBuffPtr, and HASH_HandleTypeDef::State.

Referenced by HAL_HASH_IRQHandler().

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.