AlterOffice
AlterOffice 3.4 SDK C/C++ API Reference
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
digest.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 
3 
4 #ifndef INCLUDED_RTL_DIGEST_H
5 #define INCLUDED_RTL_DIGEST_H
6 
7 #include "sal/config.h"
8 
9 #include "sal/saldllapi.h"
10 #include "sal/types.h"
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
18 typedef void* rtlDigest;
19 
20 
25 {
30 
33 
36 };
37 
41 
42 
46 {
54 };
55 
59 
60 
67 SAL_DLLPUBLIC rtlDigest SAL_CALL rtl_digest_create (
68  rtlDigestAlgorithm Algorithm
70 
71 
76 SAL_DLLPUBLIC void SAL_CALL rtl_digest_destroy (
77  rtlDigest Digest
79 
80 
85 SAL_DLLPUBLIC rtlDigestAlgorithm SAL_CALL rtl_digest_queryAlgorithm (
86  rtlDigest Digest
88 
89 
94 SAL_DLLPUBLIC sal_uInt32 SAL_CALL rtl_digest_queryLength (
95  rtlDigest Digest
97 
98 
106 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_init (
107  rtlDigest Digest,
108  const sal_uInt8 *pData, sal_uInt32 nDatLen
110 
111 
119 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_update (
120  rtlDigest Digest,
121  const void *pData, sal_uInt32 nDatLen
123 
124 
137 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_get (
138  rtlDigest Digest,
139  sal_uInt8 *pBuffer, sal_uInt32 nBufLen
141 
142 #define RTL_DIGEST_LENGTH_MD2 16
143 
152 SAL_DLLPUBLIC rtlDigest SAL_CALL rtl_digest_createMD2 (void) SAL_THROW_EXTERN_C();
153 
154 
158 SAL_DLLPUBLIC void SAL_CALL rtl_digest_destroyMD2 (
159  rtlDigest Digest
160 ) SAL_THROW_EXTERN_C();
161 
165 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_updateMD2 (
166  rtlDigest Digest,
167  const void *pData, sal_uInt32 nDatLen
168 ) SAL_THROW_EXTERN_C();
169 
173 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_getMD2 (
174  rtlDigest Digest,
175  sal_uInt8 *pBuffer, sal_uInt32 nBufLen
176 ) SAL_THROW_EXTERN_C();
177 
193 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_MD2 (
194  const void *pData, sal_uInt32 nDatLen,
195  sal_uInt8 *pBuffer, sal_uInt32 nBufLen
196 ) SAL_THROW_EXTERN_C();
197 
198 #define RTL_DIGEST_LENGTH_MD5 16
199 
208 SAL_DLLPUBLIC rtlDigest SAL_CALL rtl_digest_createMD5 (void) SAL_THROW_EXTERN_C();
209 
213 SAL_DLLPUBLIC void SAL_CALL rtl_digest_destroyMD5 (
214  rtlDigest Digest
215 ) SAL_THROW_EXTERN_C();
216 
220 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_updateMD5 (
221  rtlDigest Digest,
222  const void *pData, sal_uInt32 nDatLen
223 ) SAL_THROW_EXTERN_C();
224 
228 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_getMD5 (
229  rtlDigest Digest,
230  sal_uInt8 *pBuffer, sal_uInt32 nBufLen
231 ) SAL_THROW_EXTERN_C();
232 
241 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_rawMD5 (
242  rtlDigest Digest,
243  sal_uInt8 *pBuffer, sal_uInt32 nBufLen
244 ) SAL_THROW_EXTERN_C();
245 
261 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_MD5 (
262  const void *pData, sal_uInt32 nDatLen,
263  sal_uInt8 *pBuffer, sal_uInt32 nBufLen
264 ) SAL_THROW_EXTERN_C();
265 
266 #define RTL_DIGEST_LENGTH_SHA 20
267 
279 SAL_DLLPUBLIC rtlDigest SAL_CALL rtl_digest_createSHA (void) SAL_THROW_EXTERN_C();
280 
288 SAL_DLLPUBLIC void SAL_CALL rtl_digest_destroySHA (
289  rtlDigest Digest
290 ) SAL_THROW_EXTERN_C();
291 
292 
300 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_updateSHA (
301  rtlDigest Digest,
302  const void *pData, sal_uInt32 nDatLen
303 ) SAL_THROW_EXTERN_C();
304 
312 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_getSHA (
313  rtlDigest Digest,
314  sal_uInt8 *pBuffer, sal_uInt32 nBufLen
315 ) SAL_THROW_EXTERN_C();
316 
335 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_SHA (
336  const void *pData, sal_uInt32 nDatLen,
337  sal_uInt8 *pBuffer, sal_uInt32 nBufLen
338 ) SAL_THROW_EXTERN_C();
339 
340 /*========================================================================
341  *
342  * rtl_digest_SHA1 interface.
343  *
344  *======================================================================*/
345 #define RTL_DIGEST_LENGTH_SHA1 20
346 
358 SAL_DLLPUBLIC rtlDigest SAL_CALL rtl_digest_createSHA1 (void) SAL_THROW_EXTERN_C();
359 
368  rtlDigest Digest
369 ) SAL_THROW_EXTERN_C();
370 
378 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_updateSHA1 (
379  rtlDigest Digest,
380  const void *pData, sal_uInt32 nDatLen
381 ) SAL_THROW_EXTERN_C();
382 
390 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_getSHA1 (
391  rtlDigest Digest,
392  sal_uInt8 *pBuffer, sal_uInt32 nBufLen
393 ) SAL_THROW_EXTERN_C();
394 
413 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_SHA1 (
414  const void *pData, sal_uInt32 nDatLen,
415  sal_uInt8 *pBuffer, sal_uInt32 nBufLen
416 ) SAL_THROW_EXTERN_C();
417 
418 #define RTL_DIGEST_LENGTH_HMAC_MD5 RTL_DIGEST_LENGTH_MD5
419 
429 SAL_DLLPUBLIC rtlDigest SAL_CALL rtl_digest_createHMAC_MD5 (void) SAL_THROW_EXTERN_C();
430 
435  rtlDigest Digest
436 ) SAL_THROW_EXTERN_C();
437 
447 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_initHMAC_MD5 (
448  rtlDigest Digest,
449  const sal_uInt8 *pKeyData, sal_uInt32 nKeyLen
450 ) SAL_THROW_EXTERN_C();
451 
455 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_updateHMAC_MD5 (
456  rtlDigest Digest,
457  const void *pData, sal_uInt32 nDatLen
458 ) SAL_THROW_EXTERN_C();
459 
463 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_getHMAC_MD5 (
464  rtlDigest Digest,
465  sal_uInt8 *pBuffer, sal_uInt32 nBufLen
466 ) SAL_THROW_EXTERN_C();
467 
486 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_HMAC_MD5 (
487  const sal_uInt8 *pKeyData, sal_uInt32 nKeyLen,
488  const void *pData, sal_uInt32 nDatLen,
489  sal_uInt8 *pBuffer, sal_uInt32 nBufLen
490 ) SAL_THROW_EXTERN_C();
491 
492 #define RTL_DIGEST_LENGTH_HMAC_SHA1 RTL_DIGEST_LENGTH_SHA1
493 
507 SAL_DLLPUBLIC rtlDigest SAL_CALL rtl_digest_createHMAC_SHA1 (void) SAL_THROW_EXTERN_C();
508 
517  rtlDigest Digest
518 ) SAL_THROW_EXTERN_C();
519 
533 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_initHMAC_SHA1 (
534  rtlDigest Digest,
535  const sal_uInt8 *pKeyData, sal_uInt32 nKeyLen
536 ) SAL_THROW_EXTERN_C();
537 
545 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_updateHMAC_SHA1 (
546  rtlDigest Digest,
547  const void *pData, sal_uInt32 nDatLen
548 ) SAL_THROW_EXTERN_C();
549 
557 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_getHMAC_SHA1 (
558  rtlDigest Digest,
559  sal_uInt8 *pBuffer, sal_uInt32 nBufLen
560 ) SAL_THROW_EXTERN_C();
561 
583 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_HMAC_SHA1 (
584  const sal_uInt8 *pKeyData, sal_uInt32 nKeyLen,
585  const void *pData, sal_uInt32 nDatLen,
586  sal_uInt8 *pBuffer, sal_uInt32 nBufLen
587 ) SAL_THROW_EXTERN_C();
588 
610 SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_PBKDF2 (
611  sal_uInt8 *pKeyData , sal_uInt32 nKeyLen,
612  const sal_uInt8 *pPassData, sal_uInt32 nPassLen,
613  const sal_uInt8 *pSaltData, sal_uInt32 nSaltLen,
614  sal_uInt32 nCount
615 ) SAL_THROW_EXTERN_C();
616 
617 #ifdef __cplusplus
618 }
619 #endif
620 
621 #endif // INCLUDED_RTL_DIGEST_H
622 
623 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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.
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.
Definition: digest.h:50
unsigned char sal_uInt8
Definition: types.h:24
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.
Definition: digest.h:32
SAL_DLLPUBLIC void rtl_digest_destroy(rtlDigest Digest) SAL_THROW_EXTERN_C()
Destroy a digest handle.
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.
enum __rtl_DigestAlgorithm rtlDigestAlgorithm
Digest Algorithm type.
Definition: digest.h:40
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.
Definition: digest.h:47
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.
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.
Definition: digest.h:52
SAL_DLLPUBLIC rtlDigest rtl_digest_createMD5(void) SAL_THROW_EXTERN_C()
Create a MD5 digest handle.
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.
Definition: digest.h:48
SAL_DLLPUBLIC rtlDigestError rtl_digest_update(rtlDigest Digest, const void *pData, sal_uInt32 nDatLen) SAL_THROW_EXTERN_C()
Update a digest with given data.
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.
void * rtlDigest
Digest Handle opaque type.
Definition: digest.h:18
Definition: digest.h:53
Definition: digest.h:28
Definition: digest.h:27
SAL_DLLPUBLIC rtlDigest rtl_digest_createHMAC_MD5(void) SAL_THROW_EXTERN_C()
Create a HMAC_MD5 digest handle.
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.
CPPU_DLLPUBLIC void SAL_THROW_EXTERN_C()
This method is called to wait for a reply of a previously sent request.
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.
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.
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.
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.
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.
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.
__rtl_DigestError
Error Code enumeration.
Definition: digest.h:45
SAL_DLLPUBLIC rtlDigest rtl_digest_createSHA1(void) SAL_THROW_EXTERN_C()
Create a SHA1 digest handle.
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.
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.
SAL_DLLPUBLIC void rtl_digest_destroyHMAC_SHA1(rtlDigest Digest) SAL_THROW_EXTERN_C()
Destroy a HMAC_SHA1 digest handle.
SAL_DLLPUBLIC void rtl_digest_destroyMD5(rtlDigest Digest) SAL_THROW_EXTERN_C()
Destroy a MD5 digest handle.
Definition: digest.h:31
SAL_DLLPUBLIC rtlDigestAlgorithm rtl_digest_queryAlgorithm(rtlDigest Digest) SAL_THROW_EXTERN_C()
Query the algorithm of a given digest.
SAL_DLLPUBLIC rtlDigest rtl_digest_createSHA(void) SAL_THROW_EXTERN_C()
Create a SHA digest handle.
Definition: digest.h:29
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.
SAL_DLLPUBLIC rtlDigest rtl_digest_createMD2(void) SAL_THROW_EXTERN_C()
Create a MD2 digest handle.
Definition: digest.h:26
#define SAL_MAX_ENUM
Definition: types.h:185
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.
SAL_DLLPUBLIC void rtl_digest_destroyHMAC_MD5(rtlDigest Digest) SAL_THROW_EXTERN_C()
Destroy a HMAC_MD5 digest handle.
Definition: digest.h:51
SAL_DLLPUBLIC void rtl_digest_destroySHA(rtlDigest Digest) SAL_THROW_EXTERN_C()
Destroy a SHA digest handle.
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.
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.
SAL_DLLPUBLIC void rtl_digest_destroyMD2(rtlDigest Digest) SAL_THROW_EXTERN_C()
Destroy a MD2 digest handle.
SAL_DLLPUBLIC sal_uInt32 rtl_digest_queryLength(rtlDigest Digest) SAL_THROW_EXTERN_C()
Query the length of a given digest.
Definition: digest.h:49
__rtl_DigestAlgorithm
Digest Algorithm enumeration.
Definition: digest.h:24
SAL_DLLPUBLIC rtlDigest rtl_digest_createHMAC_SHA1(void) SAL_THROW_EXTERN_C()
Create a HMAC_SHA1 digest handle.
Definition: digest.h:34
enum __rtl_DigestError rtlDigestError
Error Code type.
Definition: digest.h:58
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.
SAL_DLLPUBLIC void rtl_digest_destroySHA1(rtlDigest Digest) SAL_THROW_EXTERN_C()
Destroy a SHA1 digest handle.
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.
#define SAL_DLLPUBLIC
Definition: saldllapi.h:14
SAL_DLLPUBLIC rtlDigest rtl_digest_create(rtlDigestAlgorithm Algorithm) SAL_THROW_EXTERN_C()
Create a digest handle for the given algorithm.