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 int
Ch
(int x, int y, int z) copy()
Produce a copy of this object with its configuration and in its current state.private void
int
doFinal
(byte[] out, int outOff) close the digest, producing the final digest value.return the algorithm nameint
return the size, in bytes, of the digest produced by this message digest.byte[]
Return an encoded byte array for the digest's internal stateprivate int
Maj
(int x, int y, int z) protected void
protected void
processLength
(long bitLength) protected void
processWord
(byte[] in, int inOff) void
reset()
reset the chaining variablesvoid
Restore a copied object state into this object.private int
Sum0
(int x) private int
Sum1
(int x) private int
Theta0
(int x) private int
Theta1
(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:Digest
return the algorithm name- Specified by:
getAlgorithmName
in interfaceDigest
- Returns:
- the algorithm name
-
getDigestSize
public int getDigestSize()Description copied from interface:Digest
return the size, in bytes, of the digest produced by this message digest.- Specified by:
getDigestSize
in interfaceDigest
- Returns:
- the size, in bytes, of the digest produced by this message digest.
-
processWord
protected void processWord(byte[] in, int inOff) - Specified by:
processWord
in classGeneralDigest
-
processLength
protected void processLength(long bitLength) - Specified by:
processLength
in classGeneralDigest
-
doFinal
public int doFinal(byte[] out, int outOff) Description copied from interface:Digest
close the digest, producing the final digest value. The doFinal call leaves the digest reset. -
reset
public void reset()reset the chaining variables- Specified by:
reset
in interfaceDigest
- Overrides:
reset
in classGeneralDigest
-
processBlock
protected void processBlock()- Specified by:
processBlock
in 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:Memoable
Produce 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:Memoable
Restore 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:EncodableDigest
Return an encoded byte array for the digest's internal state- Specified by:
getEncodedState
in interfaceEncodableDigest
- Returns:
- an encoding of the digests internal state.
-