LibreOffice
LibreOffice 24.2 SDK C/C++ API Reference
Macros | Typedefs | Enumerations | Functions
digest.h File Reference
#include "sal/config.h"
#include "sal/saldllapi.h"
#include "sal/types.h"

Go to the source code of this file.

Macros

#define RTL_DIGEST_LENGTH_MD2   16
 
#define RTL_DIGEST_LENGTH_MD5   16
 
#define RTL_DIGEST_LENGTH_SHA   20
 
#define RTL_DIGEST_LENGTH_SHA1   20
 
#define RTL_DIGEST_LENGTH_HMAC_MD5   RTL_DIGEST_LENGTH_MD5
 
#define RTL_DIGEST_LENGTH_HMAC_SHA1   RTL_DIGEST_LENGTH_SHA1
 

Typedefs

typedef void * rtlDigest
 Digest Handle opaque type. More...
 
typedef enum __rtl_DigestAlgorithm rtlDigestAlgorithm
 Digest Algorithm type. More...
 
typedef enum __rtl_DigestError rtlDigestError
 Error Code type. More...
 

Enumerations

enum  __rtl_DigestAlgorithm {
  rtl_Digest_AlgorithmMD2, rtl_Digest_AlgorithmMD5, rtl_Digest_AlgorithmSHA, rtl_Digest_AlgorithmSHA1,
  rtl_Digest_AlgorithmHMAC_MD5, rtl_Digest_AlgorithmHMAC_SHA1, rtl_Digest_AlgorithmInvalid, rtl_Digest_Algorithm_FORCE_EQUAL_SIZE = SAL_MAX_ENUM
}
 Digest Algorithm enumeration. More...
 
enum  __rtl_DigestError {
  rtl_Digest_E_None, rtl_Digest_E_Argument, rtl_Digest_E_Algorithm, rtl_Digest_E_BufferSize,
  rtl_Digest_E_Memory, rtl_Digest_E_Unknown, rtl_Digest_E_FORCE_EQUAL_SIZE = SAL_MAX_ENUM
}
 Error Code enumeration. More...
 

Functions

SAL_DLLPUBLIC rtlDigest rtl_digest_create (rtlDigestAlgorithm Algorithm) SAL_THROW_EXTERN_C()
 Create a digest handle for the given algorithm. More...
 
SAL_DLLPUBLIC void rtl_digest_destroy (rtlDigest Digest) SAL_THROW_EXTERN_C()
 Destroy a digest handle. More...
 
SAL_DLLPUBLIC rtlDigestAlgorithm rtl_digest_queryAlgorithm (rtlDigest Digest) SAL_THROW_EXTERN_C()
 Query the algorithm of a given digest. More...
 
SAL_DLLPUBLIC sal_uInt32 rtl_digest_queryLength (rtlDigest Digest) SAL_THROW_EXTERN_C()
 Query the length of a given digest. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_init (rtlDigest Digest, const sal_uInt8 *pData, sal_uInt32 nDatLen) SAL_THROW_EXTERN_C()
 Initialize a digest with given data. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_update (rtlDigest Digest, const void *pData, sal_uInt32 nDatLen) SAL_THROW_EXTERN_C()
 Update a digest with given data. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_get (rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
 Finalize a digest and retrieve the digest value. More...
 
SAL_DLLPUBLIC rtlDigest rtl_digest_createMD2 (void) SAL_THROW_EXTERN_C()
 Create a MD2 digest handle. More...
 
SAL_DLLPUBLIC void rtl_digest_destroyMD2 (rtlDigest Digest) SAL_THROW_EXTERN_C()
 Destroy a MD2 digest handle. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_updateMD2 (rtlDigest Digest, const void *pData, sal_uInt32 nDatLen) SAL_THROW_EXTERN_C()
 Update a MD2 digest with given data. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_getMD2 (rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
 Finalize a MD2 digest and retrieve the digest value. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_MD2 (const void *pData, sal_uInt32 nDatLen, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
 Evaluate a MD2 digest value from given data. More...
 
SAL_DLLPUBLIC rtlDigest rtl_digest_createMD5 (void) SAL_THROW_EXTERN_C()
 Create a MD5 digest handle. More...
 
SAL_DLLPUBLIC void rtl_digest_destroyMD5 (rtlDigest Digest) SAL_THROW_EXTERN_C()
 Destroy a MD5 digest handle. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_updateMD5 (rtlDigest Digest, const void *pData, sal_uInt32 nDatLen) SAL_THROW_EXTERN_C()
 Update a MD5 digest with given data. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_getMD5 (rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
 Finalize a MD5 digest and retrieve the digest value. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_rawMD5 (rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
 Retrieve the raw (not finalized) MD5 digest value. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_MD5 (const void *pData, sal_uInt32 nDatLen, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
 Evaluate a MD5 digest value from given data. More...
 
SAL_DLLPUBLIC rtlDigest rtl_digest_createSHA (void) SAL_THROW_EXTERN_C()
 Create a SHA digest handle. More...
 
SAL_DLLPUBLIC void rtl_digest_destroySHA (rtlDigest Digest) SAL_THROW_EXTERN_C()
 Destroy a SHA digest handle. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_updateSHA (rtlDigest Digest, const void *pData, sal_uInt32 nDatLen) SAL_THROW_EXTERN_C()
 Update a SHA digest with given data. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_getSHA (rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
 Finalize a SHA digest and retrieve the digest value. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_SHA (const void *pData, sal_uInt32 nDatLen, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
 Evaluate a SHA digest value from given data. More...
 
SAL_DLLPUBLIC rtlDigest rtl_digest_createSHA1 (void) SAL_THROW_EXTERN_C()
 Create a SHA1 digest handle. More...
 
SAL_DLLPUBLIC void rtl_digest_destroySHA1 (rtlDigest Digest) SAL_THROW_EXTERN_C()
 Destroy a SHA1 digest handle. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_updateSHA1 (rtlDigest Digest, const void *pData, sal_uInt32 nDatLen) SAL_THROW_EXTERN_C()
 Update a SHA1 digest with given data. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_getSHA1 (rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
 Finalize a SHA1 digest and retrieve the digest value. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_SHA1 (const void *pData, sal_uInt32 nDatLen, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
 Evaluate a SHA1 digest value from given data. More...
 
SAL_DLLPUBLIC rtlDigest rtl_digest_createHMAC_MD5 (void) SAL_THROW_EXTERN_C()
 Create a HMAC_MD5 digest handle. More...
 
SAL_DLLPUBLIC void rtl_digest_destroyHMAC_MD5 (rtlDigest Digest) SAL_THROW_EXTERN_C()
 Destroy a HMAC_MD5 digest handle. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_initHMAC_MD5 (rtlDigest Digest, const sal_uInt8 *pKeyData, sal_uInt32 nKeyLen) SAL_THROW_EXTERN_C()
 Initialize a HMAC_MD5 digest. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_updateHMAC_MD5 (rtlDigest Digest, const void *pData, sal_uInt32 nDatLen) SAL_THROW_EXTERN_C()
 Update a HMAC_MD5 digest with given data. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_getHMAC_MD5 (rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
 Finalize a HMAC_MD5 digest and retrieve the digest value. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_HMAC_MD5 (const sal_uInt8 *pKeyData, sal_uInt32 nKeyLen, const void *pData, sal_uInt32 nDatLen, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
 Evaluate a HMAC_MD5 digest value from given data. More...
 
SAL_DLLPUBLIC rtlDigest rtl_digest_createHMAC_SHA1 (void) SAL_THROW_EXTERN_C()
 Create a HMAC_SHA1 digest handle. More...
 
SAL_DLLPUBLIC void rtl_digest_destroyHMAC_SHA1 (rtlDigest Digest) SAL_THROW_EXTERN_C()
 Destroy a HMAC_SHA1 digest handle. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_initHMAC_SHA1 (rtlDigest Digest, const sal_uInt8 *pKeyData, sal_uInt32 nKeyLen) SAL_THROW_EXTERN_C()
 Initialize a HMAC_SHA1 digest. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_updateHMAC_SHA1 (rtlDigest Digest, const void *pData, sal_uInt32 nDatLen) SAL_THROW_EXTERN_C()
 Update a HMAC_SHA1 digest with given data. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_getHMAC_SHA1 (rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
 Finalize a HMAC_SHA1 digest and retrieve the digest value. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_HMAC_SHA1 (const sal_uInt8 *pKeyData, sal_uInt32 nKeyLen, const void *pData, sal_uInt32 nDatLen, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
 Evaluate a HMAC_SHA1 digest value from given data. More...
 
SAL_DLLPUBLIC rtlDigestError rtl_digest_PBKDF2 (sal_uInt8 *pKeyData, sal_uInt32 nKeyLen, const sal_uInt8 *pPassData, sal_uInt32 nPassLen, const sal_uInt8 *pSaltData, sal_uInt32 nSaltLen, sal_uInt32 nCount) SAL_THROW_EXTERN_C()
 Password-Based Key Derivation Function. More...
 

Macro Definition Documentation

◆ RTL_DIGEST_LENGTH_HMAC_MD5

#define RTL_DIGEST_LENGTH_HMAC_MD5   RTL_DIGEST_LENGTH_MD5

◆ RTL_DIGEST_LENGTH_HMAC_SHA1

#define RTL_DIGEST_LENGTH_HMAC_SHA1   RTL_DIGEST_LENGTH_SHA1

◆ RTL_DIGEST_LENGTH_MD2

#define RTL_DIGEST_LENGTH_MD2   16

◆ RTL_DIGEST_LENGTH_MD5

#define RTL_DIGEST_LENGTH_MD5   16

◆ RTL_DIGEST_LENGTH_SHA

#define RTL_DIGEST_LENGTH_SHA   20

◆ RTL_DIGEST_LENGTH_SHA1

#define RTL_DIGEST_LENGTH_SHA1   20

Typedef Documentation

◆ rtlDigest

typedef void* rtlDigest

Digest Handle opaque type.

◆ rtlDigestAlgorithm

Digest Algorithm type.

◆ rtlDigestError

Error Code type.

Enumeration Type Documentation

◆ __rtl_DigestAlgorithm

Digest Algorithm enumeration.

See also
rtl_digest_create()
Enumerator
rtl_Digest_AlgorithmMD2 
rtl_Digest_AlgorithmMD5 
rtl_Digest_AlgorithmSHA 
rtl_Digest_AlgorithmSHA1 
rtl_Digest_AlgorithmHMAC_MD5 
rtl_Digest_AlgorithmHMAC_SHA1 
rtl_Digest_AlgorithmInvalid 
rtl_Digest_Algorithm_FORCE_EQUAL_SIZE 

◆ __rtl_DigestError

Error Code enumeration.

Enumerator
rtl_Digest_E_None 
rtl_Digest_E_Argument 
rtl_Digest_E_Algorithm 
rtl_Digest_E_BufferSize 
rtl_Digest_E_Memory 
rtl_Digest_E_Unknown 
rtl_Digest_E_FORCE_EQUAL_SIZE 

Function Documentation

◆ rtl_digest_create()

SAL_DLLPUBLIC rtlDigest rtl_digest_create ( rtlDigestAlgorithm  Algorithm)

Create a digest handle for the given algorithm.

See also
rtlDigestAlgorithm
Parameters
[in]Algorithmdigest algorithm.
Returns
Digest handle, or 0 upon failure.

◆ rtl_digest_createHMAC_MD5()

SAL_DLLPUBLIC rtlDigest rtl_digest_createHMAC_MD5 ( void  )

Create a HMAC_MD5 digest handle.

The HMAC_MD5 digest algorithm is specified in

RFC 2104 (Informational) HMAC: Keyed-Hashing for Message Authentication

See also
rtl_digest_create()

◆ rtl_digest_createHMAC_SHA1()

SAL_DLLPUBLIC rtlDigest rtl_digest_createHMAC_SHA1 ( void  )

Create a HMAC_SHA1 digest handle.

The HMAC_SHA1 digest algorithm is specified in RFC 2104 (Informational) HMAC: Keyed-Hashing for Message Authentication RFC 2898 (Informational) PKCS #5: Password-Based Cryptography Specification Version 2.0

Deprecated:
The implementation is buggy and generates incorrect results for 52 <= (len % 64) <= 55; use only for bug-compatibility.
See also
rtl_digest_create()

◆ rtl_digest_createMD2()

SAL_DLLPUBLIC rtlDigest rtl_digest_createMD2 ( void  )

Create a MD2 digest handle.

The MD2 digest algorithm is specified in RFC 1319 (Informational) The MD2 Message-Digest Algorithm

See also
rtl_digest_create()

◆ rtl_digest_createMD5()

SAL_DLLPUBLIC rtlDigest rtl_digest_createMD5 ( void  )

Create a MD5 digest handle.

The MD5 digest algorithm is specified in RFC 1321 (Informational) The MD5 Message-Digest Algorithm

See also
rtl_digest_create()

◆ rtl_digest_createSHA()

SAL_DLLPUBLIC rtlDigest rtl_digest_createSHA ( void  )

Create a SHA digest handle.

The SHA digest algorithm is specified in FIPS PUB 180 (Superseded by FIPS PUB 180-1) Secure Hash Standard

Deprecated:
The implementation is buggy and generates incorrect results for 52 <= (len % 64) <= 55; use only for bug-compatibility.
See also
rtl_digest_create()

◆ rtl_digest_createSHA1()

SAL_DLLPUBLIC rtlDigest rtl_digest_createSHA1 ( void  )

Create a SHA1 digest handle.

The SHA1 digest algorithm is specified in FIPS PUB 180-1 (Supersedes FIPS PUB 180) Secure Hash Standard

Deprecated:
The implementation is buggy and generates incorrect results for 52 <= (len % 64) <= 55; use only for bug-compatibility.
See also
rtl_digest_create()

◆ rtl_digest_destroy()

SAL_DLLPUBLIC void rtl_digest_destroy ( rtlDigest  Digest)

Destroy a digest handle.

Postcondition
Digest handle destroyed and invalid.
Parameters
[in]Digestdigest handle to be destroyed.

◆ rtl_digest_destroyHMAC_MD5()

SAL_DLLPUBLIC void rtl_digest_destroyHMAC_MD5 ( rtlDigest  Digest)

Destroy a HMAC_MD5 digest handle.

See also
rtl_digest_destroy()

◆ rtl_digest_destroyHMAC_SHA1()

SAL_DLLPUBLIC void rtl_digest_destroyHMAC_SHA1 ( rtlDigest  Digest)

Destroy a HMAC_SHA1 digest handle.

Deprecated:
The implementation is buggy and generates incorrect results for 52 <= (len % 64) <= 55; use only for bug-compatibility.
See also
rtl_digest_destroy()

◆ rtl_digest_destroyMD2()

SAL_DLLPUBLIC void rtl_digest_destroyMD2 ( rtlDigest  Digest)

Destroy a MD2 digest handle.

See also
rtl_digest_destroy()

◆ rtl_digest_destroyMD5()

SAL_DLLPUBLIC void rtl_digest_destroyMD5 ( rtlDigest  Digest)

Destroy a MD5 digest handle.

See also
rtl_digest_destroy()

◆ rtl_digest_destroySHA()

SAL_DLLPUBLIC void rtl_digest_destroySHA ( rtlDigest  Digest)

Destroy a SHA digest handle.

Deprecated:
The implementation is buggy and generates incorrect results for 52 <= (len % 64) <= 55; use only for bug-compatibility.
See also
rtl_digest_destroy()

◆ rtl_digest_destroySHA1()

SAL_DLLPUBLIC void rtl_digest_destroySHA1 ( rtlDigest  Digest)

Destroy a SHA1 digest handle.

Deprecated:
The implementation is buggy and generates incorrect results for 52 <= (len % 64) <= 55; use only for bug-compatibility.
See also
rtl_digest_destroy()

◆ rtl_digest_get()

SAL_DLLPUBLIC rtlDigestError rtl_digest_get ( rtlDigest  Digest,
sal_uInt8 pBuffer,
sal_uInt32  nBufLen 
)

Finalize a digest and retrieve the digest value.

Precondition
Digest value length must not be less than digest length.
Postcondition
Digest initialized to accept another update sequence.
See also
rtl_digest_queryLength()
rtl_digest_update()
Parameters
[in]Digestdigest handle.
[in]pBufferdigest value buffer.
[in]nBufLendigest value length.
Return values
rtl_Digest_E_Noneupon success.

◆ rtl_digest_getHMAC_MD5()

SAL_DLLPUBLIC rtlDigestError rtl_digest_getHMAC_MD5 ( rtlDigest  Digest,
sal_uInt8 pBuffer,
sal_uInt32  nBufLen 
)

Finalize a HMAC_MD5 digest and retrieve the digest value.

See also
rtl_digest_get()

◆ rtl_digest_getHMAC_SHA1()

SAL_DLLPUBLIC rtlDigestError rtl_digest_getHMAC_SHA1 ( rtlDigest  Digest,
sal_uInt8 pBuffer,
sal_uInt32  nBufLen 
)

Finalize a HMAC_SHA1 digest and retrieve the digest value.

Deprecated:
The implementation is buggy and generates incorrect results for 52 <= (len % 64) <= 55; use only for bug-compatibility.
See also
rtl_digest_get()

◆ rtl_digest_getMD2()

SAL_DLLPUBLIC rtlDigestError rtl_digest_getMD2 ( rtlDigest  Digest,
sal_uInt8 pBuffer,
sal_uInt32  nBufLen 
)

Finalize a MD2 digest and retrieve the digest value.

See also
rtl_digest_get()

◆ rtl_digest_getMD5()

SAL_DLLPUBLIC rtlDigestError rtl_digest_getMD5 ( rtlDigest  Digest,
sal_uInt8 pBuffer,
sal_uInt32  nBufLen 
)

Finalize a MD5 digest and retrieve the digest value.

See also
rtl_digest_get()

◆ rtl_digest_getSHA()

SAL_DLLPUBLIC rtlDigestError rtl_digest_getSHA ( rtlDigest  Digest,
sal_uInt8 pBuffer,
sal_uInt32  nBufLen 
)

Finalize a SHA digest and retrieve the digest value.

Deprecated:
The implementation is buggy and generates incorrect results for 52 <= (len % 64) <= 55; use only for bug-compatibility.
See also
rtl_digest_get()

◆ rtl_digest_getSHA1()

SAL_DLLPUBLIC rtlDigestError rtl_digest_getSHA1 ( rtlDigest  Digest,
sal_uInt8 pBuffer,
sal_uInt32  nBufLen 
)

Finalize a SHA1 digest and retrieve the digest value.

Deprecated:
The implementation is buggy and generates incorrect results for 52 <= (len % 64) <= 55; use only for bug-compatibility.
See also
rtl_digest_get()

◆ rtl_digest_HMAC_MD5()

SAL_DLLPUBLIC rtlDigestError rtl_digest_HMAC_MD5 ( const sal_uInt8 pKeyData,
sal_uInt32  nKeyLen,
const void *  pData,
sal_uInt32  nDatLen,
sal_uInt8 pBuffer,
sal_uInt32  nBufLen 
)

Evaluate a HMAC_MD5 digest value from given data.

This function performs an optimized call sequence on a single data buffer, avoiding digest creation and destruction.

See also
rtl_digest_initHMAC_MD5()
rtl_digest_updateHMAC_MD5()
rtl_digest_getHMAC_MD5()
Parameters
[in]pKeyDatakey material buffer.
[in]nKeyLenkey material length.
[in]pDatadata buffer.
[in]nDatLendata length.
[in]pBufferdigest value buffer.
[in]nBufLendigest value length.
Return values
rtl_Digest_E_Noneupon success.

◆ rtl_digest_HMAC_SHA1()

SAL_DLLPUBLIC rtlDigestError rtl_digest_HMAC_SHA1 ( const sal_uInt8 pKeyData,
sal_uInt32  nKeyLen,
const void *  pData,
sal_uInt32  nDatLen,
sal_uInt8 pBuffer,
sal_uInt32  nBufLen 
)

Evaluate a HMAC_SHA1 digest value from given data.

This function performs an optimized call sequence on a single data buffer, avoiding digest creation and destruction.

Deprecated:
The implementation is buggy and generates incorrect results for 52 <= (len % 64) <= 55; use only for bug-compatibility.
See also
rtl_digest_initHMAC_SHA1()
rtl_digest_updateHMAC_SHA1()
rtl_digest_getHMAC_SHA1()
Parameters
[in]pKeyDatakey material buffer.
[in]nKeyLenkey material length.
[in]pDatadata buffer.
[in]nDatLendata length.
[in]pBufferdigest value buffer.
[in]nBufLendigest value length.
Return values
rtl_Digest_E_Noneupon success.

◆ rtl_digest_init()

SAL_DLLPUBLIC rtlDigestError rtl_digest_init ( rtlDigest  Digest,
const sal_uInt8 pData,
sal_uInt32  nDatLen 
)

Initialize a digest with given data.

Parameters
[in]Digestdigest handle.
[in]pDatadata buffer.
[in]nDatLendata length.
Return values
rtl_Digest_E_Noneupon success.

◆ rtl_digest_initHMAC_MD5()

SAL_DLLPUBLIC rtlDigestError rtl_digest_initHMAC_MD5 ( rtlDigest  Digest,
const sal_uInt8 pKeyData,
sal_uInt32  nKeyLen 
)

Initialize a HMAC_MD5 digest.

See also
rtl_digest_init()
Parameters
[in]Digestdigest handle.
[in]pKeyDatakey material buffer.
[in]nKeyLenkey material length.
Return values
rtl_Digest_E_Noneupon success.

◆ rtl_digest_initHMAC_SHA1()

SAL_DLLPUBLIC rtlDigestError rtl_digest_initHMAC_SHA1 ( rtlDigest  Digest,
const sal_uInt8 pKeyData,
sal_uInt32  nKeyLen 
)

Initialize a HMAC_SHA1 digest.

Deprecated:
The implementation is buggy and generates incorrect results for 52 <= (len % 64) <= 55; use only for bug-compatibility.
See also
rtl_digest_init()
Parameters
[in]Digestdigest handle.
[in]pKeyDatakey material buffer.
[in]nKeyLenkey material length.
Return values
rtl_Digest_E_Noneupon success.

◆ rtl_digest_MD2()

SAL_DLLPUBLIC rtlDigestError rtl_digest_MD2 ( const void *  pData,
sal_uInt32  nDatLen,
sal_uInt8 pBuffer,
sal_uInt32  nBufLen 
)

Evaluate a MD2 digest value from given data.

This function performs an optimized call sequence on a single data buffer, avoiding digest creation and destruction.

See also
rtl_digest_updateMD2()
rtl_digest_getMD2()
Parameters
[in]pDatadata buffer.
[in]nDatLendata length.
[in]pBufferdigest value buffer.
[in]nBufLendigest value length.
Return values
rtl_Digest_E_Noneupon success.

◆ rtl_digest_MD5()

SAL_DLLPUBLIC rtlDigestError rtl_digest_MD5 ( const void *  pData,
sal_uInt32  nDatLen,
sal_uInt8 pBuffer,
sal_uInt32  nBufLen 
)

Evaluate a MD5 digest value from given data.

This function performs an optimized call sequence on a single data buffer, avoiding digest creation and destruction.

See also
rtl_digest_updateMD5()
rtl_digest_getMD5()
Parameters
[in]pDatadata buffer.
[in]nDatLendata length.
[in]pBufferdigest value buffer.
[in]nBufLendigest value length.
Return values
rtl_Digest_E_Noneupon success.

◆ rtl_digest_PBKDF2()

SAL_DLLPUBLIC rtlDigestError rtl_digest_PBKDF2 ( sal_uInt8 pKeyData,
sal_uInt32  nKeyLen,
const sal_uInt8 pPassData,
sal_uInt32  nPassLen,
const sal_uInt8 pSaltData,
sal_uInt32  nSaltLen,
sal_uInt32  nCount 
)

Password-Based Key Derivation Function.

The PBKDF2 key derivation function is specified in RFC 2898 (Informational) PKCS #5: Password-Based Cryptography Specification Version 2.0

Deprecated:
The implementation is buggy and generates incorrect results for 52 <= (len % 64) <= 55; use only for bug-compatibility or if the input is guaranteed to have a good length by a start-key derivation round.
Parameters
[out]pKeyDataderived key
[in]nKeyLenderived key length
[in]pPassDatapassword
[in]nPassLenpassword length
[in]pSaltDatasalt
[in]nSaltLensalt length
[in]nCountiteration count
Return values
rtl_Digest_E_Noneupon success.

◆ rtl_digest_queryAlgorithm()

SAL_DLLPUBLIC rtlDigestAlgorithm rtl_digest_queryAlgorithm ( rtlDigest  Digest)

Query the algorithm of a given digest.

Parameters
[in]Digestdigest handle.
Returns
digest algorithm, or rtl_Digest_AlgorithmInvalid upon failure.

◆ rtl_digest_queryLength()

SAL_DLLPUBLIC sal_uInt32 rtl_digest_queryLength ( rtlDigest  Digest)

Query the length of a given digest.

Parameters
[in]Digestdigest handle.
Returns
digest length, or 0 upon failure.

◆ rtl_digest_rawMD5()

SAL_DLLPUBLIC rtlDigestError rtl_digest_rawMD5 ( rtlDigest  Digest,
sal_uInt8 pBuffer,
sal_uInt32  nBufLen 
)

Retrieve the raw (not finalized) MD5 digest value.

This function is a non-standard replacement for rtl_digest_getMD5() and must be used with caution.

Postcondition
Digest initialized to accept another update sequence.
See also
rtl_digest_get()

◆ rtl_digest_SHA()

SAL_DLLPUBLIC rtlDigestError rtl_digest_SHA ( const void *  pData,
sal_uInt32  nDatLen,
sal_uInt8 pBuffer,
sal_uInt32  nBufLen 
)

Evaluate a SHA digest value from given data.

This function performs an optimized call sequence on a single data buffer, avoiding digest creation and destruction.

Deprecated:
The implementation is buggy and generates incorrect results for 52 <= (len % 64) <= 55; use only for bug-compatibility.
See also
rtl_digest_updateSHA()
rtl_digest_getSHA()
Parameters
[in]pDatadata buffer.
[in]nDatLendata length.
[in]pBufferdigest value buffer.
[in]nBufLendigest value length.
Return values
rtl_Digest_E_Noneupon success.

◆ rtl_digest_SHA1()

SAL_DLLPUBLIC rtlDigestError rtl_digest_SHA1 ( const void *  pData,
sal_uInt32  nDatLen,
sal_uInt8 pBuffer,
sal_uInt32  nBufLen 
)

Evaluate a SHA1 digest value from given data.

This function performs an optimized call sequence on a single data buffer, avoiding digest creation and destruction.

Deprecated:
The implementation is buggy and generates incorrect results for 52 <= (len % 64) <= 55; use only for bug-compatibility.
See also
rtl_digest_updateSHA1()
rtl_digest_getSHA1()
Parameters
[in]pDatadata buffer.
[in]nDatLendata length.
[in]pBufferdigest value buffer.
[in]nBufLendigest value length.
Return values
rtl_Digest_E_Noneupon success.

◆ rtl_digest_update()

SAL_DLLPUBLIC rtlDigestError rtl_digest_update ( rtlDigest  Digest,
const void *  pData,
sal_uInt32  nDatLen 
)

Update a digest with given data.

Parameters
[in]Digestdigest handle.
[in]pDatadata buffer.
[in]nDatLendata length.
Return values
rtl_Digest_E_Noneupon success.

◆ rtl_digest_updateHMAC_MD5()

SAL_DLLPUBLIC rtlDigestError rtl_digest_updateHMAC_MD5 ( rtlDigest  Digest,
const void *  pData,
sal_uInt32  nDatLen 
)

Update a HMAC_MD5 digest with given data.

See also
rtl_digest_update()

◆ rtl_digest_updateHMAC_SHA1()

SAL_DLLPUBLIC rtlDigestError rtl_digest_updateHMAC_SHA1 ( rtlDigest  Digest,
const void *  pData,
sal_uInt32  nDatLen 
)

Update a HMAC_SHA1 digest with given data.

Deprecated:
The implementation is buggy and generates incorrect results for 52 <= (len % 64) <= 55; use only for bug-compatibility.
See also
rtl_digest_update()

◆ rtl_digest_updateMD2()

SAL_DLLPUBLIC rtlDigestError rtl_digest_updateMD2 ( rtlDigest  Digest,
const void *  pData,
sal_uInt32  nDatLen 
)

Update a MD2 digest with given data.

See also
rtl_digest_update()

◆ rtl_digest_updateMD5()

SAL_DLLPUBLIC rtlDigestError rtl_digest_updateMD5 ( rtlDigest  Digest,
const void *  pData,
sal_uInt32  nDatLen 
)

Update a MD5 digest with given data.

See also
rtl_digest_update()

◆ rtl_digest_updateSHA()

SAL_DLLPUBLIC rtlDigestError rtl_digest_updateSHA ( rtlDigest  Digest,
const void *  pData,
sal_uInt32  nDatLen 
)

Update a SHA digest with given data.

Deprecated:
The implementation is buggy and generates incorrect results for 52 <= (len % 64) <= 55; use only for bug-compatibility.
See also
rtl_digest_update()

◆ rtl_digest_updateSHA1()

SAL_DLLPUBLIC rtlDigestError rtl_digest_updateSHA1 ( rtlDigest  Digest,
const void *  pData,
sal_uInt32  nDatLen 
)

Update a SHA1 digest with given data.

Deprecated:
The implementation is buggy and generates incorrect results for 52 <= (len % 64) <= 55; use only for bug-compatibility.
See also
rtl_digest_update()