net.sourceforge.jtds.util
Class MD5Digest

java.lang.Object
  |
  +--net.sourceforge.jtds.util.GeneralDigest
        |
        +--net.sourceforge.jtds.util.MD5Digest

public class MD5Digest
extends GeneralDigest

implementation of MD5 as outlined in "Handbook of Applied Cryptography", pages 346 - 347.


Field Summary
private static int DIGEST_LENGTH
           
private  int H1
           
private  int H2
           
private  int H3
           
private  int H4
           
private static int S11
           
private static int S12
           
private static int S13
           
private static int S14
           
private static int S21
           
private static int S22
           
private static int S23
           
private static int S24
           
private static int S31
           
private static int S32
           
private static int S33
           
private static int S34
           
private static int S41
           
private static int S42
           
private static int S43
           
private static int S44
           
private  int[] X
           
private  int xOff
           
 
Fields inherited from class net.sourceforge.jtds.util.GeneralDigest
byteCount, xBuf, xBufOff
 
Constructor Summary
MD5Digest()
          Standard constructor
MD5Digest(MD5Digest t)
          Copy constructor.
 
Method Summary
 int doFinal(byte[] out, int outOff)
           
private  int F(int u, int v, int w)
           
private  int G(int u, int v, int w)
           
 java.lang.String getAlgorithmName()
           
 int getDigestSize()
           
private  int H(int u, int v, int w)
           
private  int K(int u, int v, int w)
           
protected  void processBlock()
           
protected  void processLength(long bitLength)
           
protected  void processWord(byte[] in, int inOff)
           
 void reset()
          reset the chaining variables to the IV values.
private  int rotateLeft(int x, int n)
           
private  void unpackWord(int word, byte[] out, int outOff)
           
 
Methods inherited from class net.sourceforge.jtds.util.GeneralDigest
finish, update, update
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

DIGEST_LENGTH

private static final int DIGEST_LENGTH

H1

private int H1

H2

private int H2

H3

private int H3

H4

private int H4

X

private int[] X

xOff

private int xOff

S11

private static final int S11

S12

private static final int S12

S13

private static final int S13

S14

private static final int S14

S21

private static final int S21

S22

private static final int S22

S23

private static final int S23

S24

private static final int S24

S31

private static final int S31

S32

private static final int S32

S33

private static final int S33

S34

private static final int S34

S41

private static final int S41

S42

private static final int S42

S43

private static final int S43

S44

private static final int S44
Constructor Detail

MD5Digest

public MD5Digest()
Standard constructor

MD5Digest

public MD5Digest(MD5Digest t)
Copy constructor. This will copy the state of the provided message digest.
Method Detail

getAlgorithmName

public java.lang.String getAlgorithmName()

getDigestSize

public int getDigestSize()

processWord

protected void processWord(byte[] in,
                           int inOff)
Overrides:
processWord in class GeneralDigest

processLength

protected void processLength(long bitLength)
Overrides:
processLength in class GeneralDigest

unpackWord

private void unpackWord(int word,
                        byte[] out,
                        int outOff)

doFinal

public int doFinal(byte[] out,
                   int outOff)

reset

public void reset()
reset the chaining variables to the IV values.
Overrides:
reset in class GeneralDigest

rotateLeft

private int rotateLeft(int x,
                       int n)

F

private int F(int u,
              int v,
              int w)

G

private int G(int u,
              int v,
              int w)

H

private int H(int u,
              int v,
              int w)

K

private int K(int u,
              int v,
              int w)

processBlock

protected void processBlock()
Overrides:
processBlock in class GeneralDigest


Generated on August 22 2007