J'ai été confronté au même problème lors du développement et j'avais besoin d'obtenir la clé de hachage pour tester le partage sur Facebook. En résolvant ce problème, j'ai rencontré quelques problèmes.
1- la commande fournie par Facebook pour obtenir la clé de hachage à l'aide de la commande openSSL ne m'a pas donné le bon hachage que j'ai obtenu en extrayant la signature des informations sur le package avec le code. obtenir le hachage par la deuxième manière était correct.
2- Pour une raison quelconque, dans la documentation, ils vous disent d'accéder aux paramètres du développeur et d'y ajouter la clé de hachage pour « Exemple d'application ». Je pensais que chaque clé de hachage pour un développeur devrait être là, et c'était mon erreur, chaque application a son propre champ de clés de hachage à ajouter, accédez à votre application/paramètres/android.

eh bien, c'était tout… et pour les enregistrements, j'ai utilisé openssl-0.9.8k_X64 sur un bit Windows 7 x64 et cela génère simplement un mauvais hachage, je ne sais pas pourquoi
J'ai utilisé ce code pour obtenir le hachage :
private void printKeyHash() {
// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo("YOUR PACKAGE NAME", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
Log.e("KeyHash:", e.toString());
} catch (NoSuchAlgorithmException e) {
Log.e("KeyHash:", e.toString());
}
}
mais attention, cela ne peut pas également imprimer dans les journaux le hachage correct, du moins sur mon appareil et ma machine, lorsque je le débogue, dans une montre, il affiche le hachage correct juste avant d'imprimer les journaux, mais dans les journaux, il affiche un autre hachage et le premier était le bon.
de toute façon, vous pouvez également utiliser une commande ou Eclipse pour afficher la séquence hexadécimale SHA de votre clé et la convertir en base 64 en ligne, il existe des sites Web qui peuvent vous aider http://tomeko.net/online_tools/hex_to_base64.php?lang=en
Bonne chance



