Class SHA256Digest
java.lang.Object
com.ongres.scram.common.bouncycastle.pbkdf2.GeneralDigest
com.ongres.scram.common.bouncycastle.pbkdf2.SHA256Digest
- All Implemented Interfaces:
Digest,EncodableDigest,ExtendedDigest,Memoable
FIPS 180-2 implementation of SHA-256.
block word digest
SHA-1 512 32 160
SHA-256 512 32 256
SHA-384 1024 64 384
SHA-512 1024 64 512
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionStandard constructorSHA256Digest(byte[] encodedState) State constructor - create a digest initialised with the state of a previous one.Copy constructor. -
Method Summary
Modifier and TypeMethodDescriptionprivate intCh(int x, int y, int z) copy()Produce a copy of this object with its configuration and in its current state.private voidintdoFinal(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 stateprivate intMaj(int x, int y, int z) protected voidprotected voidprocessLength(long bitLength) protected voidprocessWord(byte[] in, int inOff) voidreset()reset the chaining variablesvoidRestore a copied object state into this object.private intSum0(int x) private intSum1(int x) private intTheta0(int x) private intTheta1(int x) Methods inherited from class com.ongres.scram.common.bouncycastle.pbkdf2.GeneralDigest
copyIn, finish, getByteLength, populateState, update, update
-
Field Details
-
DIGEST_LENGTH
private static final int DIGEST_LENGTH- See Also:
-
H1
private int H1 -
H2
private int H2 -
H3
private int H3 -
H4
private int H4 -
H5
private int H5 -
H6
private int H6 -
H7
private int H7 -
H8
private int H8 -
X
private int[] X -
xOff
private int xOff -
K
static final int[] K
-
-
Constructor Details
-
SHA256Digest
public SHA256Digest()Standard constructor -
SHA256Digest
Copy constructor. This will copy the state of the provided message digest. -
SHA256Digest
public SHA256Digest(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
-
copyIn
-
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
-
Ch
private int Ch(int x, int y, int z) -
Maj
private int Maj(int x, int y, int z) -
Sum0
private int Sum0(int x) -
Sum1
private int Sum1(int x) -
Theta0
private int Theta0(int x) -
Theta1
private int Theta1(int x) -
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.
-