Class MD5

  • All Implemented Interfaces:
    java.lang.Cloneable

    public final class MD5
    extends java.security.MessageDigestSpi
    implements java.lang.Cloneable
    The MD5 class is used to compute an MD5 message digest over a given buffer of bytes. It is an implementation of the RSA Data Security Inc MD5 algorithim as described in internet RFC 1321.
    Version:
    1.24 97/12/10
    Author:
    Chuck McManis, Benjamin Renaud
    • Constructor Summary

      Constructors 
      Constructor Description
      MD5()
      Standard constructor, creates a new MD5 instance, allocates its buffers from the heap.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object clone()  
      protected byte[] engineDigest()  
      protected int engineDigest​(byte[] buf, int offset, int len)  
      protected int engineGetDigestLength()
      Return the digest length in bytes
      protected void engineReset()  
      protected void engineUpdate​(byte b)
      Update adds the passed byte to the digested data.
      protected void engineUpdate​(byte[] input, int offset, int len)
      Update adds the selected part of an array of bytes to the digest.
      void init()
      Initialize the MD5 state information and reset the bit count to 0.
      • Methods inherited from class java.security.MessageDigestSpi

        engineUpdate
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MD5

        public MD5()
        Standard constructor, creates a new MD5 instance, allocates its buffers from the heap.
    • Method Detail

      • init

        public void init()
        Initialize the MD5 state information and reset the bit count to 0. Given this implementation you are constrained to counting 2^64 bits.
      • engineReset

        protected void engineReset()
        Specified by:
        engineReset in class java.security.MessageDigestSpi
      • engineGetDigestLength

        protected int engineGetDigestLength()
        Return the digest length in bytes
        Overrides:
        engineGetDigestLength in class java.security.MessageDigestSpi
      • engineUpdate

        protected void engineUpdate​(byte b)
        Update adds the passed byte to the digested data.
        Specified by:
        engineUpdate in class java.security.MessageDigestSpi
      • engineUpdate

        protected void engineUpdate​(byte[] input,
                                    int offset,
                                    int len)
        Update adds the selected part of an array of bytes to the digest. This version is more efficient than the byte-at-a-time version; it avoids data copies and reduces per-byte call overhead.
        Specified by:
        engineUpdate in class java.security.MessageDigestSpi
      • engineDigest

        protected byte[] engineDigest()
        Specified by:
        engineDigest in class java.security.MessageDigestSpi
      • engineDigest

        protected int engineDigest​(byte[] buf,
                                   int offset,
                                   int len)
                            throws java.security.DigestException
        Overrides:
        engineDigest in class java.security.MessageDigestSpi
        Throws:
        java.security.DigestException
      • clone

        public java.lang.Object clone()
        Overrides:
        clone in class java.security.MessageDigestSpi