分享一个获取android应用的md5签名的方法,代码有不足或者有错误的地方,还希望各位看官多多提出你们的宝贵意见,在此先行谢过。废话不多说,上代码,上方法。 public class SignatureUtils { private static final char[] hexDigits = {48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102}; public static String getSignature(Context ctx) { try { PackageInfo packageInfo = ctx.getPackageManager().getPackageInfo(ctx.getPackageName(), PackageManager.GET_SIGNATURES); Signature[] signatures = packageInfo.signatures; Signature signature = signatures[0]; return hexdigest(signature.toByteArray()); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); return null; } } private static String hexdigest(byte[] paramArrayOfByte) { try { MessageDigest messageDigest = MessageDigest.getInstance("MD5"); messageDigest.update(paramArrayOfByte); byte[] arrayOfByte = messageDigest.digest(); char[] arrayOfChar = new char[32]; int i = 0; int j = 0; while (true) { if (i >= 16) return new String(arrayOfChar); int k = arrayOfByte[i]; int m = j + 1; arrayOfChar[j] = hexDigits[(0xF & k >>> 4)]; j = m + 1; arrayOfChar[m] = hexDigits[(k & 0xF)]; i++; } } catch (Exception localException) { } return null; } } 复制代码 应用内测托管 pre.im