Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2012-2015 Amazon Technologies, Inc.
   *
   * Portions copyright 2006-2009 James Murty. Please see LICENSE.txt
   * for applicable license terms and NOTICE.txt for applicable notices.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at:
  *
  *    http://aws.amazon.com/apache2.0
  *
  * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
  * OR CONDITIONS OF ANY KIND, either express or implied. See the
  * License for the specific language governing permissions and
  * limitations under the License.
  */
 package com.amazonaws.util;
 
 import java.io.File;
 
Utility methods for computing MD5 sums.
 
 public class Md5Utils {
     private static final int SIXTEEN_K = 1 << 14;
    
Computes the MD5 hash of the data in the given input stream and returns it as an array of bytes. Note this method closes the given input stream upon completion.
 
     public static byte[] computeMD5Hash(InputStream isthrows IOException {
         BufferedInputStream bis = new BufferedInputStream(is);
         try {
             MessageDigest messageDigest = MessageDigest.getInstance("MD5");
             byte[] buffer = new byte[];
             int bytesRead;
             while ( (bytesRead = bis.read(buffer, 0, buffer.length)) != -1 ) {
                 messageDigest.update(buffer, 0, bytesRead);
             }
             return messageDigest.digest();
         } catch (NoSuchAlgorithmException e) {
             // should never get here
             throw new IllegalStateException(e);
         } finally {
             try {
                 bis.close();
             } catch (Exception e) {
                 LogFactory.getLog(Md5Utils.class).debug(
                         "Unable to close input stream of hash candidate: " + e);
             }
         }
     }

    
Returns the MD5 in base64 for the data from the given input stream. Note this method closes the given input stream upon completion.
 
     public static String md5AsBase64(InputStream isthrows IOException {
         return Base64.encodeAsString(computeMD5Hash(is));
     }

    
Computes the MD5 hash of the given data and returns it as an array of bytes.
 
     public static byte[] computeMD5Hash(byte[] input) {
         try {
             MessageDigest md = MessageDigest.getInstance("MD5");
             return md.digest(input);
         } catch (NoSuchAlgorithmException e) {
             // should never get here
             throw new IllegalStateException(e);
         }
     }

    
Returns the MD5 in base64 for the given byte array.
 
     public static String md5AsBase64(byte[] input) {
         return Base64.encodeAsString(computeMD5Hash(input));
     }

    
Computes the MD5 of the given file.
 
     public static byte[] computeMD5Hash(File filethrows FileNotFoundExceptionIOException {
         return computeMD5Hash(new FileInputStream(file));
     }

    
Returns the MD5 in base64 for the given file.
    public static String md5AsBase64(File filethrows FileNotFoundExceptionIOException {
        return Base64.encodeAsString(computeMD5Hash(file));
    }
New to GrepCode? Check out our FAQ X