java.lang.Object
org.bouncycastle.crypto.digests.GeneralDigest
org.bouncycastle.crypto.digests.MD5Digest
- All Implemented Interfaces:
- org.bouncycastle.crypto.Digest
- public class MD5Digest
- extends GeneralDigest
implementation of MD5 as outlined in "Handbook of Applied Cryptography", pages 346 - 347.
|
Field Summary |
private static int |
DIGEST_LENGTH
|
private int |
H1
|
private int |
H2
|
private int |
H3
|
private int |
H4
|
private static int |
S11
|
private static int |
S12
|
private static int |
S13
|
private static int |
S14
|
private static int |
S21
|
private static int |
S22
|
private static int |
S23
|
private static int |
S24
|
private static int |
S31
|
private static int |
S32
|
private static int |
S33
|
private static int |
S34
|
private static int |
S41
|
private static int |
S42
|
private static int |
S43
|
private static int |
S44
|
private int[] |
X
|
private int |
xOff
|
| Fields inherited from class org.bouncycastle.crypto.digests.GeneralDigest |
|
|
Method Summary |
int |
doFinal(byte[] out,
int outOff)
close the digest, producing the final digest value. |
private int |
F(int u,
int v,
int w)
|
private int |
G(int u,
int v,
int w)
|
java.lang.String |
getAlgorithmName()
return the algorithm name |
int |
getDigestSize()
return the size, in bytes, of the digest produced by this message digest. |
private int |
H(int u,
int v,
int w)
|
private int |
K(int u,
int v,
int w)
|
protected void |
processBlock()
|
protected void |
processLength(long bitLength)
|
protected void |
processWord(byte[] in,
int inOff)
|
void |
reset()
reset the chaining variables to the IV values. |
private int |
rotateLeft(int x,
int n)
|
private void |
unpackWord(int word,
byte[] out,
int outOff)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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
X
private int[] X
xOff
private int xOff
S11
private static final int S11
- See Also:
- Constant Field Values
S12
private static final int S12
- See Also:
- Constant Field Values
S13
private static final int S13
- See Also:
- Constant Field Values
S14
private static final int S14
- See Also:
- Constant Field Values
S21
private static final int S21
- See Also:
- Constant Field Values
S22
private static final int S22
- See Also:
- Constant Field Values
S23
private static final int S23
- See Also:
- Constant Field Values
S24
private static final int S24
- See Also:
- Constant Field Values
S31
private static final int S31
- See Also:
- Constant Field Values
S32
private static final int S32
- See Also:
- Constant Field Values
S33
private static final int S33
- See Also:
- Constant Field Values
S34
private static final int S34
- See Also:
- Constant Field Values
S41
private static final int S41
- See Also:
- Constant Field Values
S42
private static final int S42
- See Also:
- Constant Field Values
S43
private static final int S43
- See Also:
- Constant Field Values
S44
private static final int S44
- See Also:
- Constant Field Values
MD5Digest
public MD5Digest()
- Standard constructor
MD5Digest
public MD5Digest(MD5Digest t)
- Copy constructor. This will copy the state of the provided
message digest.
getAlgorithmName
public java.lang.String getAlgorithmName()
- Description copied from interface:
org.bouncycastle.crypto.Digest
- return the algorithm name
getDigestSize
public int getDigestSize()
- Description copied from interface:
org.bouncycastle.crypto.Digest
- return the size, in bytes, of the digest produced by this message digest.
processWord
protected void processWord(byte[] in,
int inOff)
- Specified by:
processWord in class GeneralDigest
processLength
protected void processLength(long bitLength)
- Specified by:
processLength in class GeneralDigest
unpackWord
private void unpackWord(int word,
byte[] out,
int outOff)
doFinal
public int doFinal(byte[] out,
int outOff)
- Description copied from interface:
org.bouncycastle.crypto.Digest
- close the digest, producing the final digest value. The doFinal
call leaves the digest reset.
reset
public void reset()
- reset the chaining variables to the IV values.
- Specified by:
reset in interface org.bouncycastle.crypto.Digest- Overrides:
reset in class GeneralDigest
rotateLeft
private int rotateLeft(int x,
int n)
F
private int F(int u,
int v,
int w)
G
private int G(int u,
int v,
int w)
H
private int H(int u,
int v,
int w)
K
private int K(int u,
int v,
int w)
processBlock
protected void processBlock()
- Specified by:
processBlock in class GeneralDigest