org.bouncycastle.crypto.digests

Class ShortenedDigest

Implemented Interfaces:
Digest, ExtendedDigest

public class ShortenedDigest
extends java.lang.Object
implements ExtendedDigest

Wrapper class that reduces the output length of a particular digest to only the first n bytes of the digest function.

Constructor Summary

ShortenedDigest(ExtendedDigest baseDigest, int length)
Base constructor.

Method Summary

int
doFinal(byte[] out, int outOff)
close the digest, producing the final digest value.
String
getAlgorithmName()
return the algorithm name
int
getByteLength()
int
getDigestSize()
return the size, in bytes, of the digest produced by this message digest.
void
reset()
reset the digest back to it's initial state.
void
update(byte in)
update the message digest with a single byte.
void
update(byte[] in, int inOff, int len)
update the message digest with a block of bytes.

Constructor Details

ShortenedDigest

public ShortenedDigest(ExtendedDigest baseDigest,
                       int length)
Base constructor.
Parameters:
baseDigest - underlying digest to use.
length - length in bytes of the output of doFinal.

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

getByteLength

public int getByteLength()
Specified by:
getByteLength in interface ExtendedDigest

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.

reset

public void reset()
reset the digest back to it's initial state.
Specified by:
reset in interface Digest

update

public void update(byte in)
update the message digest with a single byte.
Specified by:
update in interface Digest
Parameters:
in - the input byte to be entered.

update

public void update(byte[] in,
                   int inOff,
                   int len)
update the message digest with a block of bytes.
Specified by:
update in interface Digest
Parameters:
in - the byte array containing the data.
inOff - the offset into the byte array where the data starts.
len - the length of the data.