public class SM3Digest extends GeneralDigest
The specification says "process a bit stream", but this is written to process bytes in blocks of 4, meaning this will process 32-bit word groups. But so do also most other digest specifications, including the SHA-256 which was a origin for this specification.
purpose| Constructor and Description |
|---|
SM3Digest()
Standard constructor
|
SM3Digest(CryptoServicePurpose purpose)
Standard constructor, with Purpose
|
SM3Digest(SM3Digest t)
Copy constructor.
|
| Modifier and Type | Method and Description |
|---|---|
Memoable |
copy()
Produce a copy of this object with its configuration and in its current state.
|
protected CryptoServiceProperties |
cryptoServiceProperties() |
int |
doFinal(byte[] out,
int outOff)
close the digest, producing the final digest value.
|
java.lang.String |
getAlgorithmName()
return the algorithm name
|
int |
getDigestSize()
return the size, in bytes, of the digest produced by this message digest.
|
protected void |
processBlock() |
protected void |
processLength(long bitLength) |
protected void |
processWord(byte[] in,
int inOff) |
void |
reset()
reset the chaining variables
|
void |
reset(Memoable other)
Restore a copied object state into this object.
|
copyIn, finish, getByteLength, populateState, update, updatepublic SM3Digest()
public SM3Digest(CryptoServicePurpose purpose)
public SM3Digest(SM3Digest t)
public java.lang.String getAlgorithmName()
Digestpublic int getDigestSize()
Digestpublic Memoable copy()
MemoableThe returned object may be used simply to store the state, or may be used as a similar object starting from the copied state.
public void reset(Memoable other)
MemoableImplementations of this method should try to avoid or minimise memory allocation to perform the reset.
other - an object originally copied from an object of the same type as this instance.public void reset()
reset in interface Digestreset in class GeneralDigestpublic int doFinal(byte[] out,
int outOff)
Digestout - the array the digest is to be copied into.outOff - the offset into the out array the digest is to start at.protected void processWord(byte[] in,
int inOff)
processWord in class GeneralDigestprotected void processLength(long bitLength)
processLength in class GeneralDigestprotected void processBlock()
processBlock in class GeneralDigestprotected CryptoServiceProperties cryptoServiceProperties()
cryptoServiceProperties in class GeneralDigest