cryptix.provider.md
Class SHA1

java.lang.Object
  |
  +--java.security.MessageDigestSpi
        |
        +--java.security.MessageDigest
              |
              +--cryptix.provider.md.BlockMessageDigest
                    |
                    +--cryptix.provider.md.SHA1
All Implemented Interfaces:
java.lang.Cloneable

public final class SHA1
extends BlockMessageDigest
implements java.lang.Cloneable

This class implements the SHA-1 message digest algorithm.

BUG: The update method is missing.

References:

  1. Bruce Schneier, "Section 18.7 Secure Hash Algorithm (SHA)," Applied Cryptography, 2nd edition, John Wiley & Sons, 1996

  2. NIST FIPS PUB 180-1, "Secure Hash Standard", U.S. Department of Commerce, May 1993.
    http://www.itl.nist.gov/div897/pubs/fip180-1.htm

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

$Revision: 1.7 $

Since:
Cryptix 2.2.2
Author:
Systemics Ltd, David Hopwood

Inner classes inherited from class java.security.MessageDigest
java.security.MessageDigest.Delegate
 
Constructor Summary
SHA1()
          Constructs a SHA-1 message digest.
 
Method Summary
 java.lang.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(java.lang.String[] argv)
          Entry point for self_test.
static void self_test()
          Do some basic tests.
 
Methods inherited from class cryptix.provider.md.BlockMessageDigest
bitcount, engineDigest, engineUpdate, engineUpdate
 
Methods inherited from class java.security.MessageDigest
digest, digest, digest, getAlgorithm, getDigestLength, getInstance, getInstance, getProvider, isEqual, reset, toString, update, update, update
 
Methods inherited from class java.security.MessageDigestSpi
engineDigest
 
Methods inherited from class java.lang.Object
, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SHA1

public SHA1()
Constructs a SHA-1 message digest.
Method Detail

engineGetDigestLength

protected int engineGetDigestLength()
Returns the length of the hash (in bytes).
Overrides:
engineGetDigestLength in class java.security.MessageDigestSpi

engineGetDataLength

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

clone

public java.lang.Object clone()
Returns a copy of this MD object.
Overrides:
clone in class java.security.MessageDigest

engineReset

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

engineTransform

protected void engineTransform(byte[] in)
Adds data to the message digest.
Overrides:
engineTransform in class BlockMessageDigest
Parameters:
data - The data to be added.
offset - The start of the data in the array.
length - The amount of data to add.

engineDigest

protected byte[] engineDigest(byte[] in,
                              int length)
Returns the digest of the data added and resets the digest.
Overrides:
engineDigest in class BlockMessageDigest
Returns:
the digest of all the data added to the message digest as a byte array.

main

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

self_test

public static final void self_test()
                            throws java.lang.Exception
Do some basic tests. Three of the known/validation data are included only, no output, success or exception. If you want more, write a test program!
See Also:
TestSHA1