Class SimpleHashBean

java.lang.Object
org.cryptacular.bean.AbstractHashBean
org.cryptacular.bean.SimpleHashBean
All Implemented Interfaces:
HashBean<byte[]>

public class SimpleHashBean extends AbstractHashBean implements HashBean<byte[]>
Computes a hash using an instance of Digest specified by AbstractHashBean.setDigestSpec(org.cryptacular.spec.Spec).
Author:
Middleware Services
  • Constructor Details

    • SimpleHashBean

      public SimpleHashBean()
      Creates a new instance.
    • SimpleHashBean

      public SimpleHashBean(Spec<org.bouncycastle.crypto.Digest> digestSpec, int iterations)
      Creates a new instance by specifying all properties.
      Parameters:
      digestSpec - Digest specification.
      iterations - Number of hash rounds.
  • Method Details

    • hash

      public byte[] hash(Object... data) throws CryptoException, StreamException
      Description copied from interface: HashBean
      Hashes the given data.
      Specified by:
      hash in interface HashBean<byte[]>
      Parameters:
      data - Data to hash. Callers should expect support for at least the following types: byte[], CharSequence, InputStream, and Resource. Unless otherwise noted, character data is processed in the UTF-8 character set; if another character set is desired, the caller should convert to byte[] and provide the resulting bytes.
      Returns:
      Digest output.
      Throws:
      CryptoException - on hash computation errors.
      StreamException - on stream IO errors.
    • compare

      public boolean compare(byte[] hash, Object... data) throws CryptoException, StreamException
      Compares a known hash value with the hash of the given data.
      Specified by:
      compare in interface HashBean<byte[]>
      Parameters:
      hash - Known hash value. If the length of the array is greater than the length of the digest output, anything beyond the digest length is considered salt data that is hashed after the input data.
      data - Data to hash.
      Returns:
      True if the hashed data matches the given hash, false otherwise.
      Throws:
      CryptoException - on hash computation errors.
      StreamException - on stream IO errors.