md5.c File Reference

#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "md5.h"

Defines

#define rol(x, n)   ( ((x) << (n)) | ((x) >> (32-(n))) )
 md5.c - MD5 Message-Digest Algorithm Copyright (C) 1995, 1996, 1998, 1999 Free Software Foundation, Inc.
#define FF(b, c, d)   (d ^ (b & (c ^ d)))
#define FG(b, c, d)   FF (d, b, c)
#define FH(b, c, d)   (b ^ c ^ d)
#define FI(b, c, d)   (c ^ (b | ~d))
#define OP(a, b, c, d, s, T)
#define OP(f, a, b, c, d, k, s, T)
#define X(a)   do { *(u32*)p = (*hd).a ; p += 4; } while(0)

Functions

static void md5_init (MD5_CONTEXT *ctx)
static void transform (MD5_CONTEXT *ctx, const unsigned char *data)
static void md5_update (MD5_CONTEXT *hd, const unsigned char *inbuf, size_t inlen)
static void do_final (MD5_CONTEXT *hd)
static void md5_final (unsigned char *digest, MD5_CONTEXT *ctx)
static void md5_hex_digest (char *hexdigest, const unsigned char *s)
static void md5_hmac (unsigned char *digest, const unsigned char *text, int text_len, const unsigned char *key, int key_len)
static void md5_hex_hmac (char *hexdigest, const unsigned char *text, int text_len, const unsigned char *key, int key_len)
void caldav_md5_hex_digest (char *hexdigest, const unsigned char *s)
void caldav_md5_hex_hmac (char *hexdigest, const unsigned char *text, int text_len, const unsigned char *key, int key_len)

Define Documentation

#define FF ( b,
c,
 )     (d ^ (b & (c ^ d)))

#define FG ( b,
c,
 )     FF (d, b, c)

#define FH ( b,
c,
 )     (b ^ c ^ d)

#define FI ( b,
c,
 )     (c ^ (b | ~d))

#define OP ( f,
a,
b,
c,
d,
k,
s,
 ) 

Value:

do {                                                    \
                a += f (b, c, d) + correct_words[k] + T;        \
                a = rol(a, s);                                  \
                a += b;                                         \
        } while (0)

#define OP ( a,
b,
c,
d,
s,
 ) 

Value:

do {                                            \
                a += FF (b, c, d) + (*cwp++) + T;       \
                a = rol(a, s);                          \
                a += b;                                 \
        } while (0)

#define rol ( x,
 )     ( ((x) << (n)) | ((x) >> (32-(n))) )

md5.c - MD5 Message-Digest Algorithm Copyright (C) 1995, 1996, 1998, 1999 Free Software Foundation, Inc.

according to the definition of MD5 in RFC 1321 from April 1992. NOTE: This is *not* the same file as the one from glibc.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. heavily modified for GnuPG by <werner.koch@guug.de>. modified again for Sylpheed by <wk@gnupg.org> 2001-02-11.

#define X (  )     do { *(u32*)p = (*hd).a ; p += 4; } while(0)


Function Documentation

void caldav_md5_hex_digest ( char *  hexdigest,
const unsigned char *  s 
)

void caldav_md5_hex_hmac ( char *  hexdigest,
const unsigned char *  text,
int  text_len,
const unsigned char *  key,
int  key_len 
)

static void do_final ( MD5_CONTEXT hd  )  [static]

static void md5_final ( unsigned char *  digest,
MD5_CONTEXT ctx 
) [static]

static void md5_hex_digest ( char *  hexdigest,
const unsigned char *  s 
) [static]

static void md5_hex_hmac ( char *  hexdigest,
const unsigned char *  text,
int  text_len,
const unsigned char *  key,
int  key_len 
) [static]

static void md5_hmac ( unsigned char *  digest,
const unsigned char *  text,
int  text_len,
const unsigned char *  key,
int  key_len 
) [static]

static void md5_init ( MD5_CONTEXT ctx  )  [static]

static void md5_update ( MD5_CONTEXT hd,
const unsigned char *  inbuf,
size_t  inlen 
) [static]

static void transform ( MD5_CONTEXT ctx,
const unsigned char *  data 
) [static]


Generated on Tue Apr 8 00:29:58 2008 for libcaldav-0.3.0 by  doxygen 1.5.5