cryptix.provider.md

Class MD5

public final class MD5 extends BlockMessageDigest implements Cloneable

This class implements the MD5 message digest algorithm.

BUG: The update method is missing.

References:

  1. Ronald L. Rivest, " The MD5 Message-Digest Algorithm", IETF RFC-1321 (informational).
  2. Bruce Schneier, "Section 18.5 MD5," Applied Cryptography, 2nd edition, John Wiley & Sons, 1996

Copyright © 1995-1997 Systemics Ltd on behalf of the Cryptix Development Team.
All rights reserved.

$Revision: 1.8 $

Since: Cryptix 2.2

Author: Systemics Ltd David Hopwood

Constructor Summary
MD5()
The public constructor.
Method Summary
Objectclone()
Returns a copy of this MD object.
protected byte[]engineDigest(byte[] in, int length)
Returns the digest of the data added and resets the digest.
protected intengineGetDataLength()
Returns the length of the data (in bytes) hashed in every transform.
protected intengineGetDigestLength()
Returns the length of the hash (in bytes).
protected voidengineReset()
Initializes (resets) the message digest.
protected voidengineTransform(byte[] in)
Adds data to the message digest.
protected static intF(int x, int y, int z)
protected static intFF(int a, int b, int c, int d, int k, int s, int t)
protected static intG(int x, int y, int z)
protected static intGG(int a, int b, int c, int d, int k, int s, int t)
protected static intH(int x, int y, int z)
protected static intHH(int a, int b, int c, int d, int k, int s, int t)
protected static intI(int x, int y, int z)
protected static intII(int a, int b, int c, int d, int k, int s, int t)
static voidmain(String[] argv)
Entry point for self_test.
static voidself_test()
Do some basic tests.
protected voidtransform(int[] M)

Constructor Detail

MD5

public MD5()
The public constructor.

Method Detail

clone

public Object clone()
Returns a copy of this MD object.

engineDigest

protected byte[] engineDigest(byte[] in, int length)
Returns the digest of the data added and resets the digest.

Returns: the digest of all the data added to the message digest as a byte array.

engineGetDataLength

protected int engineGetDataLength()
Returns the length of the data (in bytes) hashed in every transform.

engineGetDigestLength

protected int engineGetDigestLength()
Returns the length of the hash (in bytes).

engineReset

protected void engineReset()
Initializes (resets) the message digest.

engineTransform

protected void engineTransform(byte[] in)
Adds data to the message digest.

Parameters: data The data to be added. offset The start of the data in the array. length The amount of data to add.

F

protected static int F(int x, int y, int z)

FF

protected static int FF(int a, int b, int c, int d, int k, int s, int t)

G

protected static int G(int x, int y, int z)

GG

protected static int GG(int a, int b, int c, int d, int k, int s, int t)

H

protected static int H(int x, int y, int z)

HH

protected static int HH(int a, int b, int c, int d, int k, int s, int t)

I

protected static int I(int x, int y, int z)

II

protected static int II(int a, int b, int c, int d, int k, int s, int t)

main

public static final void main(String[] argv)
Entry point for self_test.

self_test

public static final void self_test()
Do some basic tests. Three of the validation data are included only, no output, success or exception. If you want more, write a test program!

See Also: cryptix.examples.UnitMD5

transform

protected void transform(int[] M)