Android examples for java.security:MD5
get md5 string for byte array, string, and file
import android.app.Application; import android.support.annotation.NonNull; import android.text.TextUtils; import android.util.Base64; import java.io.File; import java.io.FileInputStream; import java.io.UnsupportedEncodingException; import java.math.BigInteger; import java.net.MalformedURLException; import java.net.URI; import java.net.URL; import java.security.InvalidParameterException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.NavigableMap; import java.util.TreeMap; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main{ /**/*from w w w .j a va 2 s .c om*/ * get md5 string according to source data * @param data the source data * @return the md5 string */ public static String toMd5(byte[] data) { String result; try { MessageDigest algorithm = MessageDigest.getInstance("MD5"); algorithm.reset(); algorithm.update(data); result = toHexString(algorithm.digest()); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } return result; } /** * get md5 string according to source * @param str the source string * @return the md5 string */ public static String toMd5(String str) { String result = ""; try { MessageDigest algorithm = MessageDigest.getInstance("MD5"); algorithm.reset(); algorithm.update(str.getBytes("utf-8")); result = toHexString(algorithm.digest()); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return result; } /** * get file md5 */ public static String toMD5(File file) { if (!file.isFile()) { return null; } MessageDigest digest = null; FileInputStream in = null; byte buffer[] = new byte[1024]; int len; try { digest = MessageDigest.getInstance("MD5"); in = new FileInputStream(file); while ((len = in.read(buffer, 0, 1024)) != -1) { digest.update(buffer, 0, len); } in.close(); } catch (Exception e) { e.printStackTrace(); return null; } BigInteger bigInt = new BigInteger(1, digest.digest()); return bigInt.toString(16); } }