#include <CommonCrypto/CommonDigest.h> also included by <CommonCrypto/CommonCrypto.h>

CommonCrypto/CommonDigest.h

CommonDigest.h - common digest routines: MD2, MD4, MD5, SHA1.
32 functions · 21 macros · 8 typedefs · 6 structs

macroCC_DIGEST_DEPRECATION_WARNING

#define CC_DIGEST_DEPRECATION_WARNING "This function is cryptographically broken and should not be used in security contexts. Clients should migrate to SHA256 (or stronger)."

typedefCC_LONG

typedef uint32_t CC_LONG
32 bit unsigned integer

typedefCC_LONG64

typedef uint64_t CC_LONG64
64 bit unsigned integer

macroCC_MD2_DIGEST_LENGTH

#define CC_MD2_DIGEST_LENGTH 16
digest length in bytes

macroCC_MD2_BLOCK_BYTES

#define CC_MD2_BLOCK_BYTES 64
block size in bytes

macroCC_MD2_BLOCK_LONG

#define CC_MD2_BLOCK_LONG (CC_MD2_BLOCK_BYTES / sizeof(CC_LONG))

structCC_MD2state_st

size 148, align 4
intnum
unsigned char[16]data
CC_LONG[16]cksm
CC_LONG[16]state

typedefCC_MD2_CTX

typedef struct CC_MD2state_st CC_MD2_CTX;

functionCC_MD2_Init

API_DEPRECATED(CC_DIGEST_DEPRECATION_WARNING, macos(10.4, 10.15), ios(2.0, 13.0))
extern int CC_MD2_Init(CC_MD2_CTX *c)
deprecated

functionCC_MD2_Update

API_DEPRECATED(CC_DIGEST_DEPRECATION_WARNING, macos(10.4, 10.15), ios(2.0, 13.0))
extern int CC_MD2_Update(CC_MD2_CTX *c, const void *data, CC_LONG len)
deprecated

functionCC_MD2_Final

API_DEPRECATED(CC_DIGEST_DEPRECATION_WARNING, macos(10.4, 10.15), ios(2.0, 13.0))
extern int CC_MD2_Final(unsigned char *md, CC_MD2_CTX *c)
deprecated

functionCC_MD2

API_DEPRECATED(CC_DIGEST_DEPRECATION_WARNING, macos(10.4, 10.15), ios(2.0, 13.0))
extern unsigned char *CC_MD2(const void *data, CC_LONG len, unsigned char *md)
deprecated

macroCC_MD4_DIGEST_LENGTH

#define CC_MD4_DIGEST_LENGTH 16
digest length in bytes

macroCC_MD4_BLOCK_BYTES

#define CC_MD4_BLOCK_BYTES 64
block size in bytes

macroCC_MD4_BLOCK_LONG

#define CC_MD4_BLOCK_LONG (CC_MD4_BLOCK_BYTES / sizeof(CC_LONG))

structCC_MD4state_st

size 92, align 4
CC_LONGA
CC_LONGB
CC_LONGC
CC_LONGD
CC_LONGNl
CC_LONGNh
CC_LONG[16]data
uint32_tnum

typedefCC_MD4_CTX

typedef struct CC_MD4state_st CC_MD4_CTX;

functionCC_MD4_Init

API_DEPRECATED(CC_DIGEST_DEPRECATION_WARNING, macos(10.4, 10.15), ios(2.0, 13.0))
extern int CC_MD4_Init(CC_MD4_CTX *c)
deprecated

functionCC_MD4_Update

API_DEPRECATED(CC_DIGEST_DEPRECATION_WARNING, macos(10.4, 10.15), ios(2.0, 13.0))
extern int CC_MD4_Update(CC_MD4_CTX *c, const void *data, CC_LONG len)
deprecated

functionCC_MD4_Final

API_DEPRECATED(CC_DIGEST_DEPRECATION_WARNING, macos(10.4, 10.15), ios(2.0, 13.0))
extern int CC_MD4_Final(unsigned char *md, CC_MD4_CTX *c)
deprecated

functionCC_MD4

API_DEPRECATED(CC_DIGEST_DEPRECATION_WARNING, macos(10.4, 10.15), ios(2.0, 13.0))
extern unsigned char *CC_MD4(const void *data, CC_LONG len, unsigned char *md)
deprecated

macroCC_MD5_DIGEST_LENGTH

#define CC_MD5_DIGEST_LENGTH 16
digest length in bytes

macroCC_MD5_BLOCK_BYTES

#define CC_MD5_BLOCK_BYTES 64
block size in bytes

macroCC_MD5_BLOCK_LONG

#define CC_MD5_BLOCK_LONG (CC_MD5_BLOCK_BYTES / sizeof(CC_LONG))

structCC_MD5state_st

size 92, align 4
CC_LONGA
CC_LONGB
CC_LONGC
CC_LONGD
CC_LONGNl
CC_LONGNh
CC_LONG[16]data
intnum

typedefCC_MD5_CTX

typedef struct CC_MD5state_st CC_MD5_CTX;

functionCC_MD5_Init

API_DEPRECATED(CC_DIGEST_DEPRECATION_WARNING, macos(10.4, 10.15), ios(2.0, 13.0))
extern int CC_MD5_Init(CC_MD5_CTX *c)
deprecated

functionCC_MD5_Update

API_DEPRECATED(CC_DIGEST_DEPRECATION_WARNING, macos(10.4, 10.15), ios(2.0, 13.0))
extern int CC_MD5_Update(CC_MD5_CTX *c, const void *data, CC_LONG len)
deprecated

functionCC_MD5_Final

API_DEPRECATED(CC_DIGEST_DEPRECATION_WARNING, macos(10.4, 10.15), ios(2.0, 13.0))
extern int CC_MD5_Final(unsigned char *md, CC_MD5_CTX *c)
deprecated

functionCC_MD5

API_DEPRECATED(CC_DIGEST_DEPRECATION_WARNING, macos(10.4, 10.15), ios(2.0, 13.0))
extern unsigned char *CC_MD5(const void *data, CC_LONG len, unsigned char *md)
deprecated

macroCC_SHA1_DIGEST_LENGTH

#define CC_SHA1_DIGEST_LENGTH 20
digest length in bytes

macroCC_SHA1_BLOCK_BYTES

#define CC_SHA1_BLOCK_BYTES 64
block size in bytes

macroCC_SHA1_BLOCK_LONG

#define CC_SHA1_BLOCK_LONG (CC_SHA1_BLOCK_BYTES / sizeof(CC_LONG))

structCC_SHA1state_st

size 96, align 4
CC_LONGh0
CC_LONGh1
CC_LONGh2
CC_LONGh3
CC_LONGh4
CC_LONGNl
CC_LONGNh
CC_LONG[16]data
intnum

typedefCC_SHA1_CTX

typedef struct CC_SHA1state_st CC_SHA1_CTX;

functionCC_SHA1_Init

extern int CC_SHA1_Init(CC_SHA1_CTX *c)

functionCC_SHA1_Update

extern int CC_SHA1_Update(CC_SHA1_CTX *c, const void *data, CC_LONG len)

functionCC_SHA1_Final

extern int CC_SHA1_Final(unsigned char *md, CC_SHA1_CTX *c)

functionCC_SHA1

extern unsigned char *CC_SHA1(const void *data, CC_LONG len, unsigned char *md)

macroCC_SHA224_DIGEST_LENGTH

* SHA224 **
#define CC_SHA224_DIGEST_LENGTH 28
digest length in bytes

macroCC_SHA224_BLOCK_BYTES

#define CC_SHA224_BLOCK_BYTES 64
block size in bytes

structCC_SHA256state_st

same context struct is used for SHA224 and SHA256
size 104, align 4
CC_LONG[2]count
CC_LONG[8]hash
CC_LONG[16]wbuf

typedefCC_SHA256_CTX

typedef struct CC_SHA256state_st CC_SHA256_CTX;

functionCC_SHA224_Init

API_AVAILABLE(macos(10.4), ios(2.0))
extern int CC_SHA224_Init(CC_SHA256_CTX *c)

functionCC_SHA224_Update

API_AVAILABLE(macos(10.4), ios(2.0))
extern int CC_SHA224_Update(CC_SHA256_CTX *c, const void *data, CC_LONG len)

functionCC_SHA224_Final

API_AVAILABLE(macos(10.4), ios(2.0))
extern int CC_SHA224_Final(unsigned char *md, CC_SHA256_CTX *c)

functionCC_SHA224

API_AVAILABLE(macos(10.4), ios(2.0))
extern unsigned char *CC_SHA224(const void *data, CC_LONG len, unsigned char *md)

macroCC_SHA256_DIGEST_LENGTH

#define CC_SHA256_DIGEST_LENGTH 32
digest length in bytes

macroCC_SHA256_BLOCK_BYTES

#define CC_SHA256_BLOCK_BYTES 64
block size in bytes

functionCC_SHA256_Init

API_AVAILABLE(macos(10.4), ios(2.0))
extern int CC_SHA256_Init(CC_SHA256_CTX *c)

functionCC_SHA256_Update

API_AVAILABLE(macos(10.4), ios(2.0))
extern int CC_SHA256_Update(CC_SHA256_CTX *c, const void *data, CC_LONG len)

functionCC_SHA256_Final

API_AVAILABLE(macos(10.4), ios(2.0))
extern int CC_SHA256_Final(unsigned char *md, CC_SHA256_CTX *c)

functionCC_SHA256

API_AVAILABLE(macos(10.4), ios(2.0))
extern unsigned char *CC_SHA256(const void *data, CC_LONG len, unsigned char *md)

macroCC_SHA384_DIGEST_LENGTH

#define CC_SHA384_DIGEST_LENGTH 48
digest length in bytes

macroCC_SHA384_BLOCK_BYTES

#define CC_SHA384_BLOCK_BYTES 128
block size in bytes

structCC_SHA512state_st

same context struct is used for SHA384 and SHA512
size 208, align 8
CC_LONG64[2]count
CC_LONG64[8]hash
CC_LONG64[16]wbuf

typedefCC_SHA512_CTX

typedef struct CC_SHA512state_st CC_SHA512_CTX;

functionCC_SHA384_Init

API_AVAILABLE(macos(10.4), ios(2.0))
extern int CC_SHA384_Init(CC_SHA512_CTX *c)

functionCC_SHA384_Update

API_AVAILABLE(macos(10.4), ios(2.0))
extern int CC_SHA384_Update(CC_SHA512_CTX *c, const void *data, CC_LONG len)

functionCC_SHA384_Final

API_AVAILABLE(macos(10.4), ios(2.0))
extern int CC_SHA384_Final(unsigned char *md, CC_SHA512_CTX *c)

functionCC_SHA384

API_AVAILABLE(macos(10.4), ios(2.0))
extern unsigned char *CC_SHA384(const void *data, CC_LONG len, unsigned char *md)

macroCC_SHA512_DIGEST_LENGTH

#define CC_SHA512_DIGEST_LENGTH 64
digest length in bytes

macroCC_SHA512_BLOCK_BYTES

#define CC_SHA512_BLOCK_BYTES 128
block size in bytes

functionCC_SHA512_Init

API_AVAILABLE(macos(10.4), ios(2.0))
extern int CC_SHA512_Init(CC_SHA512_CTX *c)

functionCC_SHA512_Update

API_AVAILABLE(macos(10.4), ios(2.0))
extern int CC_SHA512_Update(CC_SHA512_CTX *c, const void *data, CC_LONG len)

functionCC_SHA512_Final

API_AVAILABLE(macos(10.4), ios(2.0))
extern int CC_SHA512_Final(unsigned char *md, CC_SHA512_CTX *c)

functionCC_SHA512

API_AVAILABLE(macos(10.4), ios(2.0))
extern unsigned char *CC_SHA512(const void *data, CC_LONG len, unsigned char *md)