Class SHA1Digest

  • All Implemented Interfaces:
    io.anyline.nfc.bouncycastle.crypto.Digest , io.anyline.nfc.bouncycastle.crypto.ExtendedDigest , io.anyline.nfc.bouncycastle.crypto.digests.EncodableDigest , io.anyline.nfc.bouncycastle.util.Memoable

    
    public class SHA1Digest
    extends GeneralDigest implements EncodableDigest
                        

    implementation of SHA-1 as outlined in "Handbook of Applied Cryptography", pages 346 - 349. It is interesting to ponder why the, apart from the extra IV, the other difference here from MD5 is the "endianness" of the word processing!

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
      SHA1Digest() Standard constructor
      SHA1Digest(SHA1Digest t) Copy constructor.
      SHA1Digest(Array<byte> encodedState) State constructor - create a digest initialised with the state of a previous one.
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      String getAlgorithmName() return the algorithm name
      int getDigestSize() return the size, in bytes, of the digest produced by this message digest.
      int doFinal(Array<byte> out, int outOff) close the digest, producing the final digest value.
      void reset() reset the chaining variables
      Memoable copy() Produce a copy of this object with its configuration and in its current state.
      void reset(Memoable other) Restore a copied object state into this object.
      Array<byte> getEncodedState() Return an encoded byte array for the digest's internal state
      • Methods inherited from class io.anyline.nfc.bouncycastle.crypto.digests.GeneralDigest

        finish, getByteLength, update, update
      • Methods inherited from class io.anyline.nfc.bouncycastle.crypto.Digest

        update, update
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SHA1Digest

        SHA1Digest()
        Standard constructor
      • SHA1Digest

        SHA1Digest(SHA1Digest t)
        Copy constructor.
      • SHA1Digest

        SHA1Digest(Array<byte> encodedState)
        State constructor - create a digest initialised with the state of a previous one.
        Parameters:
        encodedState - the encoded state from the originating digest.
    • Method Detail

      • getDigestSize

         int getDigestSize()

        return the size, in bytes, of the digest produced by this message digest.

        Returns:

        the size, in bytes, of the digest produced by this message digest.

      • doFinal

         int doFinal(Array<byte> out, int outOff)

        close the digest, producing the final digest value. The doFinal call leaves the digest reset.

        Parameters:
        out - the array the digest is to be copied into.
        outOff - the offset into the out array the digest is to start at.
      • reset

         void reset()

        reset the chaining variables

      • copy

         Memoable copy()

        Produce a copy of this object with its configuration and in its current state.

        The returned object may be used simply to store the state, or may be used as a similar object starting from the copied state.

      • reset

         void reset(Memoable other)

        Restore a copied object state into this object.

        Implementations of this method should try to avoid or minimise memory allocation to perform the reset.

        Parameters:
        other - an object originally copied from an object of the same type as this instance.
      • getEncodedState

         Array<byte> getEncodedState()

        Return an encoded byte array for the digest's internal state

        Returns:

        an encoding of the digests internal state.