org.bouncycastle.crypto.digests

Class SHA1Digest

Implemented Interfaces:
Digest, ExtendedDigest

public class SHA1Digest
extends GeneralDigest

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 "endienness" of the word processing!

Constructor Summary

SHA1Digest()
Standard constructor
SHA1Digest(SHA1Digest t)
Copy constructor.

Method Summary

int
doFinal(byte[] out, int outOff)
close the digest, producing the final digest value.
String
getAlgorithmName()
return the algorithm name
int
getDigestSize()
return the size, in bytes, of the digest produced by this message digest.
protected void
processBlock()
protected void
processLength(long bitLength)
protected void
processWord(byte[] in, int inOff)
void
reset()
reset the chaining variables

Methods inherited from class org.bouncycastle.crypto.digests.GeneralDigest

finish, getByteLength, processBlock, processLength, processWord, reset, update, update

Constructor Details

SHA1Digest

public SHA1Digest()
Standard constructor

SHA1Digest

public SHA1Digest(SHA1Digest t)
Copy constructor. This will copy the state of the provided message digest.

Method Details

doFinal

public int doFinal(byte[] out,
                   int outOff)
close the digest, producing the final digest value. The doFinal call leaves the digest reset.
Specified by:
doFinal in interface Digest
Parameters:
out - the array the digest is to be copied into.
outOff - the offset into the out array the digest is to start at.

getAlgorithmName

public String getAlgorithmName()
return the algorithm name
Specified by:
getAlgorithmName in interface Digest
Returns:
the algorithm name

getDigestSize

public int getDigestSize()
return the size, in bytes, of the digest produced by this message digest.
Specified by:
getDigestSize in interface Digest
Returns:
the size, in bytes, of the digest produced by this message digest.

processBlock

protected void processBlock()
Overrides:
processBlock in interface GeneralDigest

processLength

protected void processLength(long bitLength)
Overrides:
processLength in interface GeneralDigest

processWord

protected void processWord(byte[] in,
                           int inOff)
Overrides:
processWord in interface GeneralDigest

reset

public void reset()
reset the chaining variables
Specified by:
reset in interface Digest
Overrides:
reset in interface GeneralDigest