Package org.bouncycastle.crypto.digests
Class SHA1Digest
- java.lang.Object
-
- org.bouncycastle.crypto.digests.GeneralDigest
-
- org.bouncycastle.crypto.digests.SHA1Digest
-
- All Implemented Interfaces:
Digest
,EncodableDigest
,ExtendedDigest
,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!
-
-
Constructor Summary
Constructors Constructor Description SHA1Digest()
Standard constructorSHA1Digest(byte[] encodedState)
State constructor - create a digest initialised with the state of a previous one.SHA1Digest(SHA1Digest t)
Copy constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Memoable
copy()
Produce a copy of this object with its configuration and in its current state.int
doFinal(byte[] out, int outOff)
close the digest, producing the final digest value.java.lang.String
getAlgorithmName()
return the algorithm nameint
getDigestSize()
return the size, in bytes, of the digest produced by this message digest.byte[]
getEncodedState()
Return an encoded byte array for the digest's internal stateprotected void
processBlock()
protected void
processLength(long bitLength)
protected void
processWord(byte[] in, int inOff)
void
reset()
reset the chaining variablesvoid
reset(Memoable other)
Restore a copied object state into this object.-
Methods inherited from class org.bouncycastle.crypto.digests.GeneralDigest
copyIn, finish, getByteLength, populateState, update, update
-
-
-
-
Constructor Detail
-
SHA1Digest
public SHA1Digest()
Standard constructor
-
SHA1Digest
public SHA1Digest(SHA1Digest t)
Copy constructor. This will copy the state of the provided message digest.
-
SHA1Digest
public SHA1Digest(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
-
getAlgorithmName
public java.lang.String getAlgorithmName()
Description copied from interface:Digest
return the algorithm name- Specified by:
getAlgorithmName
in interfaceDigest
- Returns:
- the algorithm name
-
getDigestSize
public int getDigestSize()
Description copied from interface:Digest
return the size, in bytes, of the digest produced by this message digest.- Specified by:
getDigestSize
in interfaceDigest
- Returns:
- the size, in bytes, of the digest produced by this message digest.
-
processWord
protected void processWord(byte[] in, int inOff)
- Specified by:
processWord
in classGeneralDigest
-
processLength
protected void processLength(long bitLength)
- Specified by:
processLength
in classGeneralDigest
-
doFinal
public int doFinal(byte[] out, int outOff)
Description copied from interface:Digest
close the digest, producing the final digest value. The doFinal call leaves the digest reset.
-
reset
public void reset()
reset the chaining variables- Specified by:
reset
in interfaceDigest
- Overrides:
reset
in classGeneralDigest
-
processBlock
protected void processBlock()
- Specified by:
processBlock
in classGeneralDigest
-
copy
public Memoable copy()
Description copied from interface:Memoable
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
public void reset(Memoable other)
Description copied from interface:Memoable
Restore a copied object state into this object.Implementations of this method should try to avoid or minimise memory allocation to perform the reset.
-
getEncodedState
public byte[] getEncodedState()
Description copied from interface:EncodableDigest
Return an encoded byte array for the digest's internal state- Specified by:
getEncodedState
in interfaceEncodableDigest
- Returns:
- an encoding of the digests internal state.
-
-