28#ifndef CPL_SHA256_INCLUDED_H
29#define CPL_SHA256_INCLUDED_H
35#define CPL_SHA256_HASH_SIZE 32
36#define CPL_SHA256_HASH_WORDS 8
39#define GUInt64 GUIntBig
44struct _CPL_SHA256Context
47 GUInt32 hash[CPL_SHA256_HASH_WORDS];
56typedef struct _CPL_SHA256Context CPL_SHA256Context;
58void CPL_DLL CPL_SHA256Init(CPL_SHA256Context *sc);
60void CPL_DLL CPL_SHA256Update(CPL_SHA256Context *sc,
const void *data,
63void CPL_DLL CPL_SHA256Final(CPL_SHA256Context *sc,
64 GByte hash[CPL_SHA256_HASH_SIZE]);
66void CPL_DLL CPL_SHA256(
const void *data,
size_t len,
67 GByte hash[CPL_SHA256_HASH_SIZE]);
69void CPL_DLL CPL_HMAC_SHA256(
const void *pKey,
size_t nKeyLen,
70 const void *pabyMessage,
size_t nMessageLen,
71 GByte abyDigest[CPL_SHA256_HASH_SIZE]);
74GByte *CPL_RSA_SHA256_Sign(
const char *pszPrivateKey,
const void *pabyData,
75 unsigned int nDataLen,
unsigned int *pnSignatureLen);
Core portability definitions for CPL.
#define CPL_C_END
Macro to end a block of C symbols.
Definition cpl_port.h:289
#define CPL_C_START
Macro to start a block of C symbols.
Definition cpl_port.h:285
unsigned int GUInt32
Unsigned int32 type.
Definition cpl_port.h:167
GUIntBig GUInt64
Unsigned 64 bit integer type.
Definition cpl_port.h:228
unsigned char GByte
Unsigned byte type.
Definition cpl_port.h:175