include/apr_sha1.h File Reference

APR-UTIL SHA1 library. More...

#include "apu.h"
#include "apr_general.h"

Go to the source code of this file.

Data Structures

struct  apr_sha1_ctx_t

Defines

#define APR_SHA1_DIGESTSIZE   20
#define APR_SHA1PW_ID   "{SHA}"
#define APR_SHA1PW_IDLEN   5

Typedefs

typedef struct apr_sha1_ctx_t apr_sha1_ctx_t

Functions

void apr_sha1_base64 (const char *clear, int len, char *out)
void apr_sha1_init (apr_sha1_ctx_t *context)
void apr_sha1_update (apr_sha1_ctx_t *context, const char *input, unsigned int inputLen)
void apr_sha1_update_binary (apr_sha1_ctx_t *context, const unsigned char *input, unsigned int inputLen)
void apr_sha1_final (unsigned char digest[APR_SHA1_DIGESTSIZE], apr_sha1_ctx_t *context)

Detailed Description

APR-UTIL SHA1 library.


Define Documentation

#define APR_SHA1_DIGESTSIZE   20

size of the SHA1 DIGEST

#define APR_SHA1PW_ID   "{SHA}"

Define the Magic String prefix that identifies a password as being hashed using our algorithm.

#define APR_SHA1PW_IDLEN   5

length of the SHA Password


Typedef Documentation

See also:
apr_sha1_ctx_t

Function Documentation

void apr_sha1_base64 ( const char *  clear,
int  len,
char *  out 
)

Provide a means to SHA1 crypt/encode a plaintext password in a way which makes password file compatible with those commonly use in netscape web and ldap installations.

Parameters:
clear The plaintext password
len The length of the plaintext password
out The encrypted/encoded password
Note:
SHA1 support is useful for migration purposes, but is less secure than Apache's password format, since Apache's (MD5) password format uses a random eight character salt to generate one of many possible hashes for the same password. Netscape uses plain SHA1 without a salt, so the same password will always generate the same hash, making it easier to break since the search space is smaller.
void apr_sha1_final ( unsigned char  digest[APR_SHA1_DIGESTSIZE],
apr_sha1_ctx_t context 
)

Finish computing the SHA digest

Parameters:
digest the output buffer in which to store the digest
context The context to finalize
void apr_sha1_init ( apr_sha1_ctx_t context  ) 

Initialize the SHA digest

Parameters:
context The SHA context to initialize
void apr_sha1_update ( apr_sha1_ctx_t context,
const char *  input,
unsigned int  inputLen 
)

Update the SHA digest

Parameters:
context The SHA1 context to update
input The buffer to add to the SHA digest
inputLen The length of the input buffer
void apr_sha1_update_binary ( apr_sha1_ctx_t context,
const unsigned char *  input,
unsigned int  inputLen 
)

Update the SHA digest with binary data

Parameters:
context The SHA1 context to update
input The buffer to add to the SHA digest
inputLen The length of the input buffer
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on 19 Jun 2014 for Apache Portable Runtime Utility Library by  doxygen 1.6.1