Existe-t-il un moyen d’obtenir un hachage clé à partir d’un APK signé? Nous avons un fichier apk Android signé, et nous voulons savoir le hachage clé de cet APK, pour Facebook SDK . ?
Aucune suggestion?
Pour les utilisateurs de Windows qui obtiennent la clé de openssl, cela peut être délicat à certains moments .. J'utilise toujours cela pour trouver le bon signature .. Il suffit de coller ce code dans votre onCreate () et d’exécuter.
// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.e("MY KEY HASH:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
Mettre à jour:
Utilisation du studio Android (2.1.2):
Cela lancera une tâche de gradation qui imprimera le certificat de débogage et de libération avec les clés md5 et sha1
Sur Linux, j'ai utilisé cette commande pour obtenir le hachage de la clé d'un apk:
keytool -list -printcert -jarfile [path_to_your_apk] | grep -Po "(?<=SHA1:) .*" | xxd -r -p | openssl base64
Pour les utilisateurs Mac (OS X), en l'absence de prise en charge de grep -P
keytool -list -printcert -jarfile ~/Downloads/YOURAPKFILE.apk | grep "SHA1: " | cut -d " " -f 3 | xxd -r -p | openssl base64
Vous pouvez télécharger openssa depuis ici
Exécutez la commande suivante pour générer votre keyhash. Tout en générant Hashkey, il devrait vous demander votre mot de passe.
keytool -exportcert -alias androiddebugkey -keystore "C:\Users\Anhsirk.Android\debug.keystore" | openssl sha1 -binary | openssl base64
NOTE: Dans le code ci-dessus, notez que vous devez donner votre chemin d'accès à l'utilisateur (c'est-à-dire dans mon cas, il s'agit de C:\Users\Anhsirk, il vous suffit de le modifier pour votre compte d'utilisateur.
Donnez le mot de passe sous la forme Android. Si le mot de passe n’est pas demandé, le chemin du magasin de clés est incorrect.
Quand j'ai construit mon application Facebook. J'ai utilisé mon magasin de clés Android. Il existe une fonction de hachage pour cela. Communément utilisé dans les API Google (voir les instructions ci-dessous). Si vous possédez l'application et que vous l'avez signée; cela ne devrait pas être un problème sinon..votre essentiellement foutu.