Class SHA1InterleaveDigest
java.lang.Object
org.bouncycastle.crypto.digests.SHA1InterleaveDigest
Implementation of the SHA_Interleave function from RFC 2945, section 3.1, as used by
SRP-SHA1 to produce a session key twice the length of a regular SHA-1 hash.
The complete input is buffered until doFinal(byte[], int) is called: leading
zero bytes are removed, a further leading byte is removed if the remaining length is odd,
the even-numbered and odd-numbered bytes are then hashed separately with SHA-1, and the
two hashes are interleaved to form the 40 byte result.
-
Constructor Summary
ConstructorsConstructorDescriptionCopy constructor. -
Method Summary
Modifier and TypeMethodDescriptioncopy()Produce a copy of this object with its configuration and in its current state.intdoFinal(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.voidreset()reset the digest back to it's initial state.voidRestore a copied object state into this object.voidupdate(byte in) update the message digest with a single byte.voidupdate(byte[] in, int inOff, int len) update the message digest with a block of bytes.
-
Constructor Details
-
SHA1InterleaveDigest
public SHA1InterleaveDigest() -
SHA1InterleaveDigest
Copy constructor. This will copy the state of the provided message 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.
-
update
-
update
public void update(byte[] in, int inOff, int len) Description copied from interface:Digestupdate the message digest with a block of bytes. -
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
-
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.
-