org.nuiton.util
Class MD5InputStream

java.lang.Object
  extended by java.io.InputStream
      extended by java.io.FilterInputStream
          extended by java.security.DigestInputStream
              extended by org.nuiton.util.MD5InputStream
All Implemented Interfaces:
Closeable

public class MD5InputStream
extends DigestInputStream

MD5InputStream, a subclass of FilterInputStream implementing MD5 functionality on a stream.

Author:
tchemit

Field Summary
protected  long streamLength
          length of readed stream
 
Fields inherited from class java.security.DigestInputStream
digest
 
Fields inherited from class java.io.FilterInputStream
in
 
Constructor Summary
MD5InputStream(InputStream in)
          Creates a MD5InputStream
 
Method Summary
protected static MessageDigest getMD5Digest()
           
 long getStreamLength()
           
 byte[] hash()
          Returns array of bytes representing hash of the stream as finalized for the current state.
static byte[] hash(InputStream input)
          Compute the MD5 for the given input.
static byte[] hash(String input)
          Compute the MD5 for the given input sring.
 int read()
           
 int read(byte[] bytes, int offset, int length)
           
 
Methods inherited from class java.security.DigestInputStream
getMessageDigest, on, setMessageDigest, toString
 
Methods inherited from class java.io.FilterInputStream
available, close, mark, markSupported, read, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

streamLength

protected long streamLength
length of readed stream

Constructor Detail

MD5InputStream

public MD5InputStream(InputStream in)
Creates a MD5InputStream

Parameters:
in - The input stream
Method Detail

getMD5Digest

protected static MessageDigest getMD5Digest()
                                     throws IllegalStateException
Throws:
IllegalStateException

hash

public static byte[] hash(InputStream input)
                   throws IOException
Compute the MD5 for the given input. Note: The the stream will be closed after calling the method even if something was wrong.

Parameters:
input - the stream to parse
Returns:
the MD5 hash for the given input stream
Throws:
IOException - if any pb while reading in stream or digest

hash

public static byte[] hash(String input)
                   throws IOException
Compute the MD5 for the given input sring.

Parameters:
input - the stream to parse
Returns:
the MD5 hash for the given input String
Throws:
IOException - if any pb while reading in stream or digest

read

public int read()
         throws IOException
Overrides:
read in class DigestInputStream
Throws:
IOException

read

public int read(byte[] bytes,
                int offset,
                int length)
         throws IOException
Overrides:
read in class DigestInputStream
Throws:
IOException

hash

public byte[] hash()
Returns array of bytes representing hash of the stream as finalized for the current state.

Returns:
hash
See Also:
MessageDigest.digest()

getStreamLength

public long getStreamLength()


Copyright © 2004-2011 CodeLutin. All Rights Reserved.