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
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!
-
Field Summary
Fields inherited from class org.bouncycastle.crypto.digests.GeneralDigest
purpose -
Constructor Summary
ConstructorsConstructorDescriptionStandard constructorSHA1Digest(byte[] encodedState) State constructor - create a digest initialised with the state of a previous one.SHA1Digest(CryptoServicePurpose purpose) Standard constructor, with PurposeCopy constructor. -
Method Summary
Modifier and TypeMethodDescriptioncopy()Produce a copy of this object with its configuration and in its current state.protected CryptoServicePropertiesintdoFinal(byte[] out, int outOff) close the digest, producing the final digest value.return the algorithm nameintreturn the size, in bytes, of the digest produced by this message digest.byte[]Return an encoded byte array for the digest's internal stateprotected voidprotected voidprocessLength(long bitLength) protected voidprocessWord(byte[] in, int inOff) voidreset()reset the chaining variablesvoidRestore a copied object state into this object.Methods inherited from class org.bouncycastle.crypto.digests.GeneralDigest
copyIn, finish, getByteLength, populateState, update, update
-
Constructor Details
-
SHA1Digest
public SHA1Digest()Standard constructor -
SHA1Digest
Standard constructor, with Purpose -
SHA1Digest
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 Details
-
getAlgorithmName
Description copied from interface:Digestreturn the algorithm name- Specified by:
getAlgorithmNamein interfaceDigest- Returns:
- the algorithm name
-
getDigestSize
public int getDigestSize()Description copied from interface:Digestreturn the size, in bytes, of the digest produced by this message digest.- Specified by:
getDigestSizein interfaceDigest- Returns:
- the size, in bytes, of the digest produced by this message digest.
-
processWord
protected void processWord(byte[] in, int inOff) - Specified by:
processWordin classGeneralDigest
-
processLength
protected void processLength(long bitLength) - Specified by:
processLengthin classGeneralDigest
-
doFinal
public int doFinal(byte[] out, int outOff) Description copied from interface:Digestclose the digest, producing the final digest value. The doFinal call leaves the digest reset. -
reset
public void reset()reset the chaining variables- Specified by:
resetin interfaceDigest- Overrides:
resetin classGeneralDigest
-
processBlock
protected void processBlock()- Specified by:
processBlockin classGeneralDigest
-
copy
Description copied from interface:MemoableProduce 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
Description copied from interface:MemoableRestore 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:EncodableDigestReturn an encoded byte array for the digest's internal state- Specified by:
getEncodedStatein interfaceEncodableDigest- Returns:
- an encoding of the digests internal state.
-
cryptoServiceProperties
- Specified by:
cryptoServicePropertiesin classGeneralDigest
-