Intel

Developer Zone

Hash

com.intel.crypto

Interface Hash

  • All Known Implementing Classes:
    HashAlg


    public interface Hash
    This interface represents a hash algorithm. This interface supports:
    • Sequential operations where the data is processed in chunks by calling the interface several times (see the processUpdate method).
    • Stateless operations where all data is processed in one method call.
    Note that if during a sequence of operations an exception is thrown by the instance of this algorithm, the instance can no longer be used. A new instance must be created for subsequent operations.
    • Method Summary

      Methods
      Modifier and Type Method and Description
      short getHashAlg()
      Returns the hash algorithm used by this hash instance.
      short getHashLength()
      Returns the length of the hash computed using this hash instance.
      short processComplete(byte[] input, short inputIndex, short inputLength, byte[] outputArray, short outputIndex)
      Hashes the provided input data and returns the resultant hash.
      void processUpdate(byte[] input, short inputIndex, short inputLength)
      Hashes the provided input data and saves the intermediate hash result in the internal context of the instance.
    • Method Detail

      • getHashLength

        short getHashLength()
        Returns the length of the hash computed using this hash instance.
        Returns:
        The length of the resultant hash in bytes.
      • getHashAlg

        short getHashAlg()
        Returns the hash algorithm used by this hash instance.
        Returns:
        The hash algorithm used.
      • processUpdate

        void processUpdate(byte[] input,
                         short inputIndex,
                         short inputLength)
        Hashes the provided input data and saves the intermediate hash result in the internal context of the instance. The processComplete method must be called to complete the hashing sequence.
        Parameters:
        input - the input data to hash
        inputIndex - index in the input array
        inputLength - input data length
      • processComplete

        short processComplete(byte[] input,
                            short inputIndex,
                            short inputLength,
                            byte[] outputArray,
                            short outputIndex)
                              throws CryptoException
        Hashes the provided input data and returns the resultant hash. If available, the final hash computation also includes intermediate hash results from any previous calls to the processUpdate method. This method also resets the internal state of the instance and makes the instance ready to start a new hashing sequence.
        Parameters:
        input - the input data to hash
        inputIndex - index in the input array
        inputLength - input data length
        outputArray - output array to hold the hash result
        outputIndex - index in the output array
        Returns:
        The resultant hash length in bytes.
        Throws:
        IllegalUseException - if data was not provided in the input buffer or via any prior calls to the processUpdate method.
        CryptoException