android 获取包名 通过包名获取应用签名
16lz
2022-04-24
MainActivity 代码:private Signature[] getRawSignature(Context paramContext, String paramString) { if ((paramString == null) || (paramString.length() == 0)) { return null; } PackageManager localPackageManager = paramContext.getPackageManager(); PackageInfo localPackageInfo; try { localPackageInfo = localPackageManager.getPackageInfo(paramString, PackageManager.GET_SIGNATURES); if (localPackageInfo == null) { return null; } } catch (PackageManager.NameNotFoundException localNameNotFoundException) { return null; } return localPackageInfo.signatures;}/** * 开始获得签名 * @param packageName 报名 * @return */private void getSign(String packageName) { Signature[] arrayOfSignature = getRawSignature(this, packageName); if ((arrayOfSignature == null) || (arrayOfSignature.length == 0)){ return; } Log.e(TAG, Md5.getMessageDigest(arrayOfSignature[0].toByteArray()));}
新建 MD5类 :
public final class Md5{ public static final String getMessageDigest(byte[] paramArrayOfByte) { char[] arrayOfChar1 = { 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102 }; try { MessageDigest localMessageDigest = MessageDigest.getInstance("MD5"); localMessageDigest.update(paramArrayOfByte); byte[] arrayOfByte = localMessageDigest.digest(); int i = arrayOfByte.length; char[] arrayOfChar2 = new char[i * 2]; int j = 0; int k = 0; while (true) { if (j >= i) return new String(arrayOfChar2); int m = arrayOfByte[j]; int n = k + 1; arrayOfChar2[k] = arrayOfChar1[(0xF & m >>> 4)]; k = n + 1; arrayOfChar2[n] = arrayOfChar1[(m & 0xF)]; j++; } } catch (Exception localException) { } return null; } public static final byte[] getRawDigest(byte[] paramArrayOfByte) { try { MessageDigest localMessageDigest = MessageDigest.getInstance("MD5"); localMessageDigest.update(paramArrayOfByte); byte[] arrayOfByte = localMessageDigest.digest(); return arrayOfByte; } catch (Exception localException) { } return null; }}
更多相关文章
- android 通过pull解析xml文件
- Android(安卓)命令行签名打包,加固二次打包
- android 获取屏幕大小
- 联系人头像 android
- android 页面切换动画效果
- Android(安卓)反射获得控件对象
- Android(安卓)应用签名
- Android(安卓)图片透明度处理代码
- Android(安卓)SQLite数据库的添 删 查 改