Developer Reference

Contents

HashMessage

Computes the digest value of an input message.

Syntax

IppStatus ippsHashMessage(const Ipp8u *
pMsg
, int
len
, Ipp8u *
pMD
IppHashAlgId
hashAlg
);
IppStatus ippsHashMessage_rmf(const Ipp8u *
pMsg
, int
msgLen
, Ipp8u *
pHash
, const ippsHashMethod *
pMethod
);
Include Files
ippcp.h
Parameters
pMsg
Pointer to the input message.
len
,
msgLen
Message length in octets.
pMD
,
pHash
Pointer to the resultant digest.
hashAlg
Identifier of the hash algorithm.
pMethod
Pointer to the hash method.
Description
The function uses the selected hash algorithm to compute the digest value of the entire (non-streaming) input message. The
hashAlg
and
pMethod
parameters define the hash algorithm used. The
hashAlg
parameter
can take one of the values listed in table Supported Hash Algorithms.
To get a value for the
pMethod
parameter, call one of the HashMethod functions.
This function has a
reduced memory footprint
version. To learn more, see Reduced Memory Footprint Functions.
Return Values
ippStsNoErr
Indicates no error. Any other value indicates an error or warning.
ippStsNullPtrErr
Indicates an error condition if any of the specified pointers is
NULL
.
ippStsLengthErr
Indicates an error condition if the length of the input data stream is less than zero.
ippStsNotSupportedModeErr
Indicates an error condition if the
hashAlg
parameter does not match any
value of
IppHashAlg
listed in table Supported Hash Algorithms
.

Example

The code below computes MD5 digest of a message.
void MD5_sample(void) { // define message Ipp8u msg[] = "abcdefghijklmnopqrstuvwxyz"; // once the whole message is placed into memory, // you can use the integrated primitive Ipp8u digest[16]; ippsHashMessage(msg, strlen((char*)msg), digest, IPP_ALG_HASH_MD5); }

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.