Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

dsMD5 Class Reference

#include <dsMD5.h>

Inheritance diagram for dsMD5:

dsCryptoHash dsCryptoBase List of all members.

Public Methods

virtual void cryptoHash (dsCypher_byte_t *p_digest, const dsCypher_byte_t *p_src, dsCypher_word32_t p_srcLen) dsCypher_SECTION
virtual const dsCypher_word32_t digestSize () dsCypher_SECTION

Protected Methods

void update (const dsCypher_byte_t *p_src, dsCypher_word32_t p_len) dsCypher_SECTION
void memSet (dsCypher_byte_t *ptr, dsCypher_byte_t pattern, dsCypher_word32_t size)
void memCopy (dsCypher_byte_t *dest, const dsCypher_byte_t *src, dsCypher_word32_t size)
dsCypher_word32_t n2l (const dsCypher_byte_t *c)
dsCypher_word32_t n2le (const dsCypher_byte_t *c)
void l2n (dsCypher_word32_t l, dsCypher_byte_t *c)
void l2ne (dsCypher_word32_t l, dsCypher_byte_t *c)
void n_n2l (dsCypher_word32_t *dest, const dsCypher_byte_t *src, dsCypher_word32_t srcLen)
void n_n2le (dsCypher_word32_t *dest, const dsCypher_byte_t *src, dsCypher_word32_t srcLen)
void n_l2n (dsCypher_byte_t *dest, const dsCypher_word32_t *src, dsCypher_word32_t srcLen)
void n_l2ne (dsCypher_byte_t *dest, const dsCypher_word32_t *src, dsCypher_word32_t srcLen)
void n_xor (dsCypher_word32_t *dest, const dsCypher_word32_t *src, dsCypher_word32_t size)
dsCypher_word32_t rotl (dsCypher_word32_t x, dsCypher_word32_t n)
dsCypher_word32_t rotr (dsCypher_word32_t x, dsCypher_word32_t n)

Detailed Description

This class is implementation of md5 secure hashing algorithm.

This code based on:

the RSA Data Security, Inc. MD5 Message-Digest Algorithm Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991.

and

MD5 for LUA implementation Marcela Ozorio Suarez, Roberto I.


Member Function Documentation

virtual void dsMD5::cryptoHash dsCypher_byte_t   p_digest,
const dsCypher_byte_t   p_src,
dsCypher_word32_t    p_srcLen
[virtual]
 

Perform hash calcualton

Implements dsCryptoHash.

virtual const dsCypher_word32_t dsMD5::digestSize   [virtual]
 

Implements dsCryptoHash.

void dsCryptoBase::l2n dsCypher_word32_t    l,
dsCypher_byte_t   c
[inline, protected, inherited]
 

void dsCryptoBase::l2ne dsCypher_word32_t    l,
dsCypher_byte_t   c
[inline, protected, inherited]
 

void dsCryptoBase::memCopy dsCypher_byte_t   dest,
const dsCypher_byte_t   src,
dsCypher_word32_t    size
[inline, protected, inherited]
 

void dsCryptoBase::memSet dsCypher_byte_t   ptr,
dsCypher_byte_t    pattern,
dsCypher_word32_t    size
[inline, protected, inherited]
 

These routines placed here to allow developer to providei os specific implementation, it's not virtual because calling virtual function inside encryption algorithm dramatically decrease performance

dsCypher_word32_t dsCryptoBase::n2l const dsCypher_byte_t   c [inline, protected, inherited]
 

Byte sequence to Word32 and back conversion routines

dsCypher_word32_t dsCryptoBase::n2le const dsCypher_byte_t   c [inline, protected, inherited]
 

void dsCryptoBase::n_l2n dsCypher_byte_t   dest,
const dsCypher_word32_t   src,
dsCypher_word32_t    srcLen
[inline, protected, inherited]
 

void dsCryptoBase::n_l2ne dsCypher_byte_t   dest,
const dsCypher_word32_t   src,
dsCypher_word32_t    srcLen
[inline, protected, inherited]
 

void dsCryptoBase::n_n2l dsCypher_word32_t   dest,
const dsCypher_byte_t   src,
dsCypher_word32_t    srcLen
[inline, protected, inherited]
 

void dsCryptoBase::n_n2le dsCypher_word32_t   dest,
const dsCypher_byte_t   src,
dsCypher_word32_t    srcLen
[inline, protected, inherited]
 

void dsCryptoBase::n_xor dsCypher_word32_t   dest,
const dsCypher_word32_t   src,
dsCypher_word32_t    size
[inline, protected, inherited]
 

dsCypher_word32_t dsCryptoBase::rotl dsCypher_word32_t    x,
dsCypher_word32_t    n
[inline, protected, inherited]
 

dsCypher_word32_t dsCryptoBase::rotr dsCypher_word32_t    x,
dsCypher_word32_t    n
[inline, protected, inherited]
 

void dsMD5::update const dsCypher_byte_t   p_src,
dsCypher_word32_t    p_len
[protected]
 


The documentation for this class was generated from the following file:
Generated on Mon May 16 18:27:00 2005 for libdms4 by doxygen1.3-rc2