Package | Class | Tree | Serialized | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.ibm.crypto.fips.provider
Class SHA

    java.lang.Object
      |
      +--java.security.MessageDigestSpi
            |
            +--com.ibm.crypto.fips.provider.SHA

All Implemented Interfaces:
  AlgorithmStatus, java.lang.Cloneable

public final class SHA
extends java.security.MessageDigestSpi
implements java.lang.Cloneable, AlgorithmStatus

This class implements the Secure Hash Algorithm (SHA) developed by the National Institute of Standards and Technology along with the National Security Agency. This is the updated version of SHA fip-180 as superseded by fip-180-1.

Version:
  1.0, 07/13/99
Author:
  Janelle Zhang

Constructor Summary
`SHA()` Standard constructor, creates a new SHA instance, allocates its buffers from the heap.

Method Summary
`java.lang.Object` | `clone()` Clones this object.
`protected byte[]` | `engineDigest()`
`protected int` | `engineDigest(byte[] buf, int offset, int len)`
`protected int` | `engineGetDigestLength()` Return the digest length in bytes
`protected void` | `engineReset()`
`protected void` | `engineUpdate(byte b)` Update adds the passed byte to the digested data.
`protected void` | `engineUpdate(byte[] input, int offset, int len)` Update adds the selected part of an array of bytes to the digest.
`void` | `init()` Initialize the SHA information
`protected java.lang.Object` | `internalClone()` Clones this object.
`protected byte[]` | `internalDigest()`
`protected int` | `internalDigest(byte[] buf, int offset, int len)`
`protected int` | `internalGetDigestLength()` Return the digest length in bytes
`protected void` | `internalInit()` Initialize the SHA information
`protected void` | `internalReset()`
`protected void` | `internalUpdate(byte b)` Update adds the passed byte to the digested data.
`protected void` | `internalUpdate(byte[] input, int offset, int len)` Update adds the selected part of an array of bytes to the digest.
`boolean` | `isFipsApproved()` Module identifies if the cryptographic operation (algorithm) is FIPS certified

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SHA

    public SHA()

  Standard constructor, creates a new SHA instance, allocates its buffers from the heap.

Method Detail

### isFipsApproved

    public boolean isFipsApproved()

  Description copied from interface: `AlgorithmStatus`
  Module identifies if the cryptographic operation (algorithm) is FIPS certified
  Specified by:
    `isFipsApproved` in interface `AlgorithmStatus`
  See Also:
    `AlgorithmStatus.isFipsApproved()`

### init

    public void init()

  Initialize the SHA information
  Throws:
    `FIPSRuntimeException` - if SelfTest.isFipsRunnable returns false.

### internalInit

    protected void internalInit()

  Initialize the SHA information

### engineReset

    protected void engineReset()

  Overrides:
    `engineReset` in class `java.security.MessageDigestSpi`
  Throws:
    `FIPSRuntimeException` - if SelfTest.isFipsRunnable returns false.

### internalReset

    protected void internalReset()

### engineGetDigestLength

    protected int engineGetDigestLength()

  Return the digest length in bytes
  Overrides:
    `engineGetDigestLength` in class `java.security.MessageDigestSpi`
  Throws:
    `FIPSRuntimeException` - if SelfTest.isFipsRunnable returns false.

### internalGetDigestLength

    protected int internalGetDigestLength()

  Return the digest length in bytes

### engineUpdate

    protected void engineUpdate(byte b)

  Update adds the passed byte to the digested data.
  Overrides:
    `engineUpdate` in class `java.security.MessageDigestSpi`
  Throws:
    `FIPSRuntimeException` - if SelfTest.isFipsRunnable returns false.

### internalUpdate

    protected void internalUpdate(byte b)

  Update adds the passed byte to the digested data.

### engineUpdate

    protected void engineUpdate(byte[] input,
                                int offset,
                                int len)

  Update adds the selected part of an array of bytes to the digest. This version is more efficient than the byte-at-a-time version; it avoids data copies and reduces per-byte call overhead.
  Overrides:
    `engineUpdate` in class `java.security.MessageDigestSpi`
  Throws:
    `FIPSRuntimeException` - if SelfTest.isFipsRunnable returns false.

### internalUpdate

    protected void internalUpdate(byte[] input,
                                  int offset,
                                  int len)

  Update adds the selected part of an array of bytes to the digest. This version is more efficient than the byte-at-a-time version; it avoids data copies and reduces per-byte call overhead.

### engineDigest

    protected byte[] engineDigest()

  Overrides:
    `engineDigest` in class `java.security.MessageDigestSpi`
  Throws:
    `FIPSRuntimeException` - if SelfTest.isFipsRunnable returns false.

### internalDigest

    protected byte[] internalDigest()

### engineDigest

    protected int engineDigest(byte[] buf,
                               int offset,
                               int len)
                        throws java.security.DigestException

  Overrides:
    `engineDigest` in class `java.security.MessageDigestSpi`
  Throws:
    `FIPSRuntimeException` - if SelfTest.isFipsRunnable returns false.

### internalDigest

    protected int internalDigest(byte[] buf,
                                 int offset,
                                 int len)
                          throws java.security.DigestException

### clone

    public java.lang.Object clone()

  Clones this object.
  Overrides:
    `clone` in class `java.security.MessageDigestSpi`
  Throws:
    `FIPSRuntimeException` - if SelfTest.isFipsRunnable returns false.

### internalClone

    protected java.lang.Object internalClone()

  Clones this object.

Package | Class | Tree | Serialized | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD