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;    }}

 

 

更多相关文章

  1. android 通过pull解析xml文件
  2. Android(安卓)命令行签名打包,加固二次打包
  3. android 获取屏幕大小
  4. 联系人头像 android
  5. android 页面切换动画效果
  6. Android(安卓)反射获得控件对象
  7. Android(安卓)应用签名
  8. Android(安卓)图片透明度处理代码
  9. Android(安卓)SQLite数据库的添 删 查 改

随机推荐

  1. redis中的 geospatial(地理位置)使用
  2. 长相对于经济学的学术生涯重要吗? 牛年首
  3. 天下回归, 无内生性不破, 唯此神文不破,
  4. 各地软考报考已开始,请大家及时报考
  5. 深度排序模型在淘宝直播的演进与应用
  6. 百度知识图谱技术及应用
  7. 继发AER之后, 2021年再发Top5, 这是什么
  8. 熵简科技在投研数智化建设中的思考与实践
  9. 引力模型基础上的工具变量如何构建?
  10. python之函数的基本使用