获取Android MD5签名

  • Post author:
  • Post category:其他




方法1 AS Gradle工具

参考

Android Studio生成签名文件,自动签名,以及获取SHA1和MD5值

签名生成和获取 十分详细,不在叙述,

需要说明的是 : 获取的 MD5值 如:42:41:3B:BB:86:44:92:22:D0:4D:2A:E6:7F:98:4E:EE

替换“ :” ,转换成小写 ,就是应用的 MD5值 ,其它亦然



方法2 代码方式

不是我写的 ,记录一下

Activity 方法中

  try {   //BuildConfig.APPLICATION_ID   当前应用包名
            PackageInfo packageInfo = getPackageManager().getPackageInfo(BuildConfig.APPLICATION_ID,
                    PackageManager.GET_SIGNATURES);
            String signValidString = getSignValidString(packageInfo.signatures[0].toByteArray());
            Log.e("获取应用签名", BuildConfig.APPLICATION_ID + ":" + signValidString);
        } catch (Exception e) {
            Log.e("获取应用签名", "异常:" + e);
        }

其 引用 的方法

  private String getSignValidString(byte[] paramArrayOfByte) throws NoSuchAlgorithmException {
            MessageDigest localMessageDigest = MessageDigest.getInstance("MD5");
            localMessageDigest.update(paramArrayOfByte);
            return toHexString(localMessageDigest.digest());
        }

    public String toHexString(byte[] paramArrayOfByte) {
        if (paramArrayOfByte == null) {
            return null;
        }
        StringBuilder localStringBuilder = new StringBuilder(2 * paramArrayOfByte.length);
        for (int i = 0; ; i++) {
            if (i >= paramArrayOfByte.length) {
                return localStringBuilder.toString();
            }
            String str = Integer.toString(0xFF & paramArrayOfByte[i], 16);
            if (str.length() == 1) {
                str = "0" + str;
            }
            localStringBuilder.append(str);
        }
    }



版权声明:本文为zuochunsheng原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。