如何获取Android工程内部文件的MD5值?

摘要:Android工程获取包内的MD5值 public static String getSignMd5Str(){ if (md5 == "") { try { PackageInfo pa
Android工程获取包内的MD5值 public static String getSignMd5Str() { if (md5 == "") { try { PackageInfo packageInfo = app.getPackageManager().getPackageInfo(app.getPackageName(), PackageManager.GET_SIGNATURES); Signature[] signs = packageInfo.signatures; Signature sign = signs[0]; String signStr = encryptionMD5(sign.toByteArray()); md5 = signStr; } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } } return md5; } public static String encryptionMD5(byte[] byteStr) { MessageDigest messageDigest = null; StringBuffer md5StrBuff = new StringBuffer(); try { messageDigest = MessageDigest.getInstance("MD5"); messageDigest.reset(); messageDigest.update(byteStr); byte[] byteArray = messageDigest.digest(); for (int i = 0; i < byteArray.length; i++) { if (Integer.toHexString(0xFF & byteArray[i]).length() == 1) { md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i])); } else { md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i])); } } } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return md5StrBuff.toString(); }