Android Ottenimento dell'impronta SH1 del file del keystore del certificato


Esempio

Per ottenere una chiave API di Google Maps per il tuo certificato, devi fornire alla console API l'impronta SH1 del tuo keystore di debug / release.

È possibile ottenere il keystore utilizzando il programma keytool di JDK come descritto qui nella documentazione.

Un altro approccio è ottenere l'impronta digitale a livello di codice eseguendo questo frammento con l'app firmata con il certificato di debug / release e stampando l'hash nel log.

PackageInfo info;
try {
    info = getPackageManager().getPackageInfo("com.package.name", PackageManager.GET_SIGNATURES);
    for (Signature signature : info.signatures) {
        MessageDigest md;
        md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        String hash= new String(Base64.encode(md.digest(), 0));
        Log.e("hash", hash);
    }
} catch (NameNotFoundException e1) {
    Log.e("name not found", e1.toString());
} catch (NoSuchAlgorithmException e) {
    Log.e("no such an algorithm", e.toString());
} catch (Exception e) {
    Log.e("exception", e.toString());
}