com.ibm.crypto.fips.provider

Class SHA

  • java.lang.Object
    • java.security.MessageDigestSpi
      • com.ibm.crypto.fips.provider.SHA
  • All Implemented Interfaces:
    java.lang.Cloneable


    public final class SHA
    extends java.security.MessageDigestSpi
    implements java.lang.Cloneable
    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.
    • Constructor Summary

      Constructors 
      Constructor and Description
      SHA()
      Standard constructor, creates a new SHA instance, allocates its buffers from the heap.
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      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 byte[] internalDigest(byte[] buf) 
      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.
      • Methods inherited from class java.security.MessageDigestSpi

        engineUpdate
      • 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

      • 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()
        Specified by:
        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.
        Specified by:
        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.
        Specified by:
        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()
        Specified by:
        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.
        java.security.DigestException
      • internalDigest

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

        protected byte[] internalDigest(byte[] buf)
                                 throws java.security.DigestException
        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.
© Portions Copyright 2003, 2014, 2015, 2016 IBM Corporation. All rights reserved.
© Portions Copyright 2003, 2014 Oracle and/or its affiliates. All rights reserved.