Android app 獲取SHA1值

一.在代碼中獲取app的sha1值,需要手動添加 :號
public static String getSHA1(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);
        StringBuffer hexString = new StringBuffer();
        for (int i = 0; i < publicKey.length; i++) {
            String appendString = Integer.toHexString(0xFF & publicKey[i]).toUpperCase(Locale.US);
            if (appendString.length() == 1)
                hexString.append("0");
            hexString.append(appendString);
        }
        return hexString.toString();
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;

}

二 . 用命令獲取 系統簽名apk的sha1 

1、系統簽名apk文件,解壓(重命名爲rar文件)

2、取出META_INFO中CERT.RSA文件。

3、cmd下執行keytool -printcert -file CERT.RSA路徑。

三 .  用AS  或者三方工具也可以獲取SHA1值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章