Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
src/md5.cpp File Reference
#include <xstream/config.h>
#include <xstream/digest.h>
#include <iosfwd>
#include <iomanip>
#include <iostream>
#include "debug.h"
#include "md5_t.h"

Go to the source code of this file.

Namespaces

 xstream
 Library top namespace.
 
 xstream::digest
 digest objects
 

Macros

#define A0   0x01234567
 
#define B0   0x89abcdef
 
#define C0   0xfedcba98
 
#define D0   0x76543210
 
#define BRA(q, w, e, r, k, s, Ti)   q = w + ( rotate_left( q + FUN(w,e,r) + wbuf[k] + Ti, s) );
 
#define FUN   F
 
#define FUN   G
 
#define FUN   H
 
#define FUN   I
 

Functions

static uint32_t rotate_left (uint32_t x, unsigned int n)
 
static uint32_t F (uint32_t x, uint32_t y, uint32_t z)
 
static uint32_t G (uint32_t x, uint32_t y, uint32_t z)
 
static uint32_t H (uint32_t x, uint32_t y, uint32_t z)
 
static uint32_t I (uint32_t x, uint32_t y, uint32_t z)
 
static void xstream::digest::process_chunk (uint32_t &AA, uint32_t &BB, uint32_t &CC, uint32_t &DD, char *_buf)
 
static void xstream::digest::print_hex (std::ostream &o, uint32_t n)
 
std::ostream & xstream::digest::operator<< (std::ostream &o, const struct md5::result &m)
 

Variables

static const size_t block_size = 16 * 4
 

Macro Definition Documentation

#define BRA (   q,
  w,
  e,
  r,
  k,
  s,
  Ti 
)    q = w + ( rotate_left( q + FUN(w,e,r) + wbuf[k] + Ti, s) );
#define D0   0x76543210

Definition at line 25 of file src/md5.cpp.

#define FUN   F
#define FUN   G
#define FUN   H
#define FUN   I

Function Documentation

static uint32_t F ( uint32_t  x,
uint32_t  y,
uint32_t  z 
)
inlinestatic

Definition at line 34 of file src/md5.cpp.

static uint32_t G ( uint32_t  x,
uint32_t  y,
uint32_t  z 
)
inlinestatic

Definition at line 39 of file src/md5.cpp.

static uint32_t H ( uint32_t  x,
uint32_t  y,
uint32_t  z 
)
inlinestatic

Definition at line 44 of file src/md5.cpp.

static uint32_t I ( uint32_t  x,
uint32_t  y,
uint32_t  z 
)
inlinestatic

Definition at line 49 of file src/md5.cpp.

static uint32_t rotate_left ( uint32_t  x,
unsigned int  n 
)
inlinestatic

Definition at line 29 of file src/md5.cpp.

Variable Documentation

const size_t block_size = 16 * 4
static