Class SHA256Digest
- java.lang.Object
-
- org.gudy.bouncycastle.crypto.digests.GeneralDigest
-
- org.gudy.bouncycastle.crypto.digests.SHA256Digest
-
- All Implemented Interfaces:
Digest
public class SHA256Digest extends GeneralDigest
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
-
-
Constructor Summary
Constructors Constructor Description SHA256Digest()
Standard constructorSHA256Digest(SHA256Digest t)
Copy constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private int
Ch(int x, int y, int z)
int
doFinal(byte[] out, int outOff)
close the digest, producing the final digest value.java.lang.String
getAlgorithmName()
return the algorithm nameint
getDigestSize()
return the size, in bytes, of the digest produced by this message digest.private int
Maj(int x, int y, int z)
protected void
processBlock()
protected void
processLength(long bitLength)
protected void
processWord(byte[] in, int inOff)
void
reset()
reset the chaining variablesprivate int
rotateRight(int x, int n)
private int
Sum0(int x)
private int
Sum1(int x)
private int
Theta0(int x)
private int
Theta1(int x)
private void
unpackWord(int word, byte[] out, int outOff)
-
Methods inherited from class org.gudy.bouncycastle.crypto.digests.GeneralDigest
finish, update, update
-
-
-
-
Field Detail
-
DIGEST_LENGTH
private static final int DIGEST_LENGTH
- See Also:
- Constant Field Values
-
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 Detail
-
SHA256Digest
public SHA256Digest()
Standard constructor
-
SHA256Digest
public SHA256Digest(SHA256Digest t)
Copy constructor. This will copy the state of the provided message digest.
-
-
Method Detail
-
getAlgorithmName
public java.lang.String getAlgorithmName()
Description copied from interface:Digest
return the algorithm name- 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.- 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
-
unpackWord
private void unpackWord(int word, byte[] out, int outOff)
-
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.- 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:
reset
in interfaceDigest
- Overrides:
reset
in classGeneralDigest
-
processBlock
protected void processBlock()
- Specified by:
processBlock
in 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)
-
-