Class MD5Digest

java.lang.Object
org.gudy.bouncycastle.crypto.digests.GeneralDigest
org.gudy.bouncycastle.crypto.digests.MD5Digest
All Implemented Interfaces:
Digest

public class MD5Digest extends GeneralDigest
implementation of MD5 as outlined in "Handbook of Applied Cryptography", pages 346 - 347.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final int
     
    private int
     
    private int
     
    private int
     
    private int
     
    private static final int
     
    private static final int
     
    private static final int
     
    private static final int
     
    private static final int
     
    private static final int
     
    private static final int
     
    private static final int
     
    private static final int
     
    private static final int
     
    private static final int
     
    private static final int
     
    private static final int
     
    private static final int
     
    private static final int
     
    private static final int
     
    private int[]
     
    private int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Standard constructor
    Copy constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    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)
     
    return the algorithm name
    int
    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
     
    protected void
    processLength(long bitLength)
     
    protected void
    processWord(byte[] in, int inOff)
     
    void
    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 org.gudy.bouncycastle.crypto.digests.GeneralDigest

    finish, update, update

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • MD5Digest

      public MD5Digest()
      Standard constructor
    • MD5Digest

      public MD5Digest(MD5Digest t)
      Copy constructor. This will copy the state of the provided message digest.
  • Method Details

    • getAlgorithmName

      public 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 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: 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 to the IV values.
      Specified by:
      reset in interface 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