package com.litesuits.http.utils; import java.io.IOException; import java.io.InputStream; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * MS5 */ public class MD5Util { private static final String TAG = MD5Util.class.getSimpleName(); private static final int STREAM_BUFFER_LENGTH = 1024; public static MessageDigest getDigest(final String algorithm) throws NoSuchAlgorithmException { return MessageDigest.getInstance(algorithm); } public static byte[] md5(String txt) { return md5(txt.getBytes()); } public static byte[] md5(byte[] bytes) { try { MessageDigest digest = getDigest("MD5"); digest.update(bytes); return digest.digest(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return null; } public static byte[] md5(InputStream is) throws NoSuchAlgorithmException, IOException { return updateDigest(getDigest("MD5"), is).digest(); } public static MessageDigest updateDigest(final MessageDigest digest, final InputStream data) throws IOException { final byte[] buffer = new byte[STREAM_BUFFER_LENGTH]; int read = data.read(buffer, 0, STREAM_BUFFER_LENGTH); while (read > -1) { digest.update(buffer, 0, read); read = data.read(buffer, 0, STREAM_BUFFER_LENGTH); } return digest; } }