Android开发之获取Apk的SHA1

243 阅读1分钟

在安卓应用开发中,如果有支付、定位等需求的时候,就会获取Apk的SHA1。以下是获取的方法:

1、Android Studio的Terminal工具获取

打开Android Studio的Terminal工具,输入命令:keytool -v -list -keystore 应用签名文件。

 keytool -v -list -keystore G:\key.jks

最后可得到这样的结果:

image.png

2、代码获取

public static String sha1(Context context) {
    try {
        PackageInfo info = context.getPackageManager().getPackageInfo(
                context.getPackageName(), PackageManager.GET_SIGNATURES);
        byte[] cert = info.signatures[0].toByteArray();
        MessageDigest md = MessageDigest.getInstance("SHA1");
        byte[] publicKey = md.digest(cert);
        StringBuilder hexString = new StringBuilder();
        for (byte b : publicKey) {
            String appendString = Integer.toHexString(0xFF & b).toUpperCase(Locale.US);
            if (appendString.length() == 1)
                hexString.append("0");
            hexString.append(appendString);
            hexString.append(":");
        }
        String result = hexString.toString();
        return result.substring(0, result.length()-1);
    } catch (PackageManager.NameNotFoundException | NoSuchAlgorithmException e) {
        e.printStackTrace();
    }
    return "";
}

3、用微信的工具获取

在微信开放平台下载一个安装包,安装到手机上,输入包名就能够获取到。

下载地址

4、通过在线网站获取

这个网站获取很便捷,直接导入安装包就可以了。还能app备案公钥和Md5查询

查看地址