cryptix.provider.md

Class SHA0

Implemented Interfaces:
Cloneable

public final class SHA0
extends BlockMessageDigest
implements Cloneable

This class implements the SHA-0 message digest algorithm (not to be confused with the revised SHA-1 algorithm). SHA-1 is preferred for new applications.

BUG: The update method is missing.

References:

  1. NIST FIPS PUB 180, "Secure Hash Standard", U.S. Department of Commerce, May 1993.

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

$Revision: 1.7 $

Authors:
Systemics Ltd
David Hopwood

Since:
Cryptix 2.2.2

Field Summary

static int
DATA_LENGTH
Length of a block (i.e.
static int
HASH_LENGTH
Length of the final hash (in bytes).

Constructor Summary

SHA0()
The public constructor.

Method Summary

Object
clone()
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 int
engineGetDataLength()
Returns the length of the data (in bytes) hashed in every transform.
protected int
engineGetDigestLength()
Returns the length of the hash (in bytes).
protected void
engineReset()
Initializes (resets) the message digest.
protected void
engineTransform(byte[] in)
Adds data to the message digest.
static void
main(argv[] )
Entry point for self_test.
static void
self_test()
Do some basic tests.

Methods inherited from class cryptix.provider.md.BlockMessageDigest

bitcount, engineDigest, engineDigest, engineGetDataLength, engineReset, engineTransform, engineUpdate, engineUpdate

Field Details

DATA_LENGTH

public static final int DATA_LENGTH
Length of a block (i.e. the number of bytes hashed in every transform).

Field Value:
64


HASH_LENGTH

public static final int HASH_LENGTH
Length of the final hash (in bytes).

Field Value:
20

Constructor Details

SHA0

public SHA0()
The public constructor.

Method Details

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.
Overrides:
engineDigest in interface BlockMessageDigest

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.
Overrides:
engineGetDataLength in interface BlockMessageDigest


engineGetDigestLength

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


engineReset

protected void engineReset()
Initializes (resets) the message digest.
Overrides:
engineReset in interface BlockMessageDigest


engineTransform

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

Parameters:


main

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


self_test

public static final void self_test()
            throws Exception
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:
TestSHA0