All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Collaboration diagram for MD5 Routines:

Data Structures

struct  apr_md5_ctx_t


#define APR_MD5_DIGESTSIZE   16


typedef struct apr_md5_ctx_t apr_md5_ctx_t


apr_status_t apr_md5_init (apr_md5_ctx_t *context)
apr_status_t apr_md5_set_xlate (apr_md5_ctx_t *context, apr_xlate_t *xlate)
apr_status_t apr_md5_update (apr_md5_ctx_t *context, const void *input, apr_size_t inputLen)
apr_status_t apr_md5_final (unsigned char digest[APR_MD5_DIGESTSIZE], apr_md5_ctx_t *context)
apr_status_t apr_md5 (unsigned char digest[APR_MD5_DIGESTSIZE], const void *input, apr_size_t inputLen)
apr_status_t apr_md5_encode (const char *pw, const char *salt, char *result, apr_size_t nbytes)
apr_status_t apr_bcrypt_encode (const char *pw, unsigned int count, const unsigned char *salt, apr_size_t salt_len, char *out, apr_size_t out_len)
apr_status_t apr_password_validate (const char *passwd, const char *hash)

Detailed Description

Macro Definition Documentation

#define APR_MD5_DIGESTSIZE   16

The MD5 digest size

Typedef Documentation

typedef struct apr_md5_ctx_t apr_md5_ctx_t
See Also

Function Documentation

apr_status_t apr_bcrypt_encode ( const char *  pw,
unsigned int  count,
const unsigned char *  salt,
apr_size_t  salt_len,
char *  out,
apr_size_t  out_len 

Encode a password using the bcrypt algorithm

pwThe password to encode
countThe cost of the encoding, possible values are 4 to 31
saltPointer to binary data to be used as salt for the encoding
salt_lenThe size of the salt data (must be >= 16)
outThe string to store the encoded password in
out_lenThe size of the result buffer (must be >= 61)
apr_status_t apr_md5 ( unsigned char  digest[APR_MD5_DIGESTSIZE],
const void input,
apr_size_t  inputLen 

MD5 in one step

digestThe final MD5 digest
inputThe message block to use
inputLenThe length of the message block
apr_status_t apr_md5_encode ( const char *  pw,
const char *  salt,
char *  result,
apr_size_t  nbytes 

Encode a password using an MD5 algorithm

pwThe password to encode
saltThe salt string to use for the encoding
resultThe string to store the encoded password in
nbytesThe size of the result buffer
apr_status_t apr_md5_final ( unsigned char  digest[APR_MD5_DIGESTSIZE],
apr_md5_ctx_t context 

MD5 finalization. Ends an MD5 message-digest operation, writing the message digest and zeroing the context

digestThe final MD5 digest
contextThe MD5 content we are finalizing.
apr_status_t apr_md5_init ( apr_md5_ctx_t context)

MD5 Initialize. Begins an MD5 operation, writing a new context.

contextThe MD5 context to initialize.
apr_status_t apr_md5_set_xlate ( apr_md5_ctx_t context,
apr_xlate_t xlate 

MD5 translation setup. Provides the APR translation handle to be used for translating the content before calculating the digest.

contextThe MD5 content to set the translation for.
xlateThe translation handle to use for this MD5 context
apr_status_t apr_md5_update ( apr_md5_ctx_t context,
const void input,
apr_size_t  inputLen 

MD5 block update operation. Continue an MD5 message-digest operation, processing another message block, and updating the context.

contextThe MD5 content to update.
inputnext message block to update
inputLenThe length of the next message block
apr_status_t apr_password_validate ( const char *  passwd,
const char *  hash 

Validate hashes created by APR-supported algorithms: md5, bcrypt, and sha1. hashes created by crypt are supported only on platforms that provide crypt(3), so don't rely on that function unless you know that your application will be run only on platforms that support it. On platforms that don't support crypt(3), this falls back to a clear text string comparison.

passwdThe password to validate
hashThe password to validate against