pub unsafe extern "C" fn psa_hash_compute(
    alg: psa_algorithm_t,
    input: *const u8,
    input_length: usize,
    hash: *mut u8,
    hash_size: usize,
    hash_length: *mut usize
) -> psa_status_t
Expand description

Calculate the hash (digest) of a message.

\note To verify the hash of a message against an expected value, use psa_hash_compare() instead.

\param alg The hash algorithm to compute (\c PSA_ALG_XXX value such that #PSA_ALG_IS_HASH(\p alg) is true). \param[in] input Buffer containing the message to hash. \param input_length Size of the \p input buffer in bytes. \param[out] hash Buffer where the hash is to be written. \param hash_size Size of the \p hash buffer in bytes. \param[out] hash_length On success, the number of bytes that make up the hash value. This is always #PSA_HASH_LENGTH(\p alg).

\retval #PSA_SUCCESS Success. \retval #PSA_ERROR_NOT_SUPPORTED \p alg is not supported or is not a hash algorithm. \retval #PSA_ERROR_INVALID_ARGUMENT \emptydescription \retval #PSA_ERROR_BUFFER_TOO_SMALL \p hash_size is too small \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription \retval #PSA_ERROR_COMMUNICATION_FAILURE \emptydescription \retval #PSA_ERROR_HARDWARE_FAILURE \emptydescription \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription \retval #PSA_ERROR_BAD_STATE The library has not been previously initialized by psa_crypto_init(). It is implementation-dependent whether a failure to initialize results in this error code.