Class SHA256Digest
java.lang.Object
org.gudy.bouncycastle.crypto.digests.GeneralDigest
org.gudy.bouncycastle.crypto.digests.SHA256Digest
- All Implemented Interfaces:
Digest
Draft FIPS 180-2 implementation of SHA-256. Note: As this is
based on a draft this implementation is subject to change.
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 constructorCopy constructor. -
Method Summary
Modifier and TypeMethodDescriptionprivate intCh(int x, int y, int z) 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.private intMaj(int x, int y, int z) protected voidprotected voidprocessLength(long bitLength) protected voidprocessWord(byte[] in, int inOff) voidreset()reset the chaining variablesprivate introtateRight(int x, int n) private intSum0(int x) private intSum1(int x) private intTheta0(int x) private intTheta1(int x) private voidunpackWord(int word, byte[] out, int outOff) Methods inherited from class GeneralDigest
finish, 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.
-
-
Method Details
-
getAlgorithmName
-
getDigestSize
public int getDigestSize()Description copied from interface:Digestreturn the size, in bytes, of the digest produced by this message digest.- 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
-
unpackWord
private void unpackWord(int word, byte[] out, int outOff) -
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.- Parameters:
out- the array the digest is to be copied into.outOff- the offset into the out array the digest is to start at.
-
reset
public void reset()reset the chaining variables- Specified by:
resetin interfaceDigest- Overrides:
resetin classGeneralDigest
-
processBlock
protected void processBlock()- Specified by:
processBlockin classGeneralDigest
-
rotateRight
private int rotateRight(int x, int n) -
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)
-