44 votes

Clé de hachage pour Facebook Android SDK

Je n'arrive pas à trouver comment obtenir la clé de hachage nécessaire pour utiliser le kit SDK Android de Facebook. J'ai compris que je pouvais utiliser keytool avec ces commandes :

  keytool -exportcert -alias [alias]
 -keystore [keystore] | openssl sha1 -binary | openssl enc -a -e

Le seul problème est que je n'ai aucune idée de l'endroit où insérer ceci, j'ai essayé par la commande Windows (win7) et j'ai essayé d'ouvrir le fichier keytool.exe.

27voto

Vous pouvez installer Open SSL à partir de aquí cela devrait faire fonctionner votre commande

20voto

petrnohejl Points 2483

J'ai créé un batch script facebookkeydebug.bat qui renvoie le hash de la clé Facebook désirée. Il suffit d'éditer le script, de définir les chemins corrects, le nom du keystore et de l'exécuter.

:: Getting Android key hash for Facebook app on Windows
:: Requirement: OpenSSL for Windows (http://code.google.com/p/openssl-for-windows/downloads/list)
:: Usage: set paths and run facebookkeydebug.bat

@echo Exporting keystore cert
keytool -exportcert -alias androiddebugkey -keystore C:\Users\myusername\.android\debug.keystore -storepass android -keypass android > debug.keystore.bin

@echo Converting to sha1
C:\PROGRAMS\openssl-0.9.8k_X64\bin\openssl sha1 -binary debug.keystore.bin > debug.keystore.sha1

@echo Converting to base64
C:\PROGRAMS\openssl-0.9.8k_X64\bin\openssl base64 -in debug.keystore.sha1 -out debug.keystore.base64

@echo Done, Android hash key for Facebook app is:
C:\PROGRAMS\openssl-0.9.8k_X64\bin\openssl base64 -in debug.keystore.sha1
@pause

EDIT : J'ai publié un repo avec quelques batch scripts pour la signature et l'obtention de clés de cert sous Windows : https://github.com/petrnohejl/Android-scripts

18voto

Pradyumna Swain Points 431
  1. Téléchargez et installez OpenSSL à partir de http://slproweb.com/products/Win32OpenSSL.html basé sur Windows 32 ou 64 bit (Note : Télécharger et installer le premier visual C++ 208 redisribuable à partir de ce site également).
  2. Mettez le répertoire bin d'OpenSSL installé dans le chemin de Windows.
  3. Ouvrez l'invite de commande et allez dans C:\Users {Nom_Utilisateur}.Android
  4. Maintenant, mettez cette commande dans cmd " keytool -exportcert -alias androiddebugkey -keystore debug.keystore | openssl sha1 -binary | openssl base64 ".(se référer https://developers.facebook.com/docs/Android/getting-started#samples )
  5. Maintenant, entrez le mot de passe "facebook" sans les guillemets.
  6. Maintenant, une clé de hachage sera générée enter image description here
  7. Enfin, allez sur le site des développeurs de Facebook. Assurez-vous que vous êtes connecté à Facebook et, à l'aide du menu déroulant en haut à droite, allez dans vos "paramètres de développement" :
  8. Une fois que vous êtes dans vos paramètres de développeur, sélectionnez "Sample App" dans la navigation à gauche, puis ajoutez et enregistrez votre clé de hachage dans votre profil : enter image description here

15voto

Rudi Points 1095

Vous pouvez utiliser le code ci-dessous pour obtenir la clé de hachage :

try {

   PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), 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("name not found", e.toString());
  } catch (NoSuchAlgorithmException e) {
   Log.e("no such an algorithm", e.toString());
  }

Référence :

http://limbaniandroid.blogspot.com/2013/04/how-to-get-hash-key-for-integarte.html

8voto

O.P.S.S Points 81

Pour faciliter les choses -

keytool.exe -list -alias androiddebugkey -keystore debug.keystore -v

cela devrait vous fournir les empreintes digitales nécessaires, sans avoir à installer openssl.

par exemple

Certificate fingerprints:
         MD5:  1A:5E:AA:CB:1A:CF:68:F0:8B:DA:D8:BC:EE:4F:BF:EE
         SHA1: D2:89:D1:5A:BC:F8:E3:E5:62:4D:DD:20:DD:96:CD:AB:51:A1:C1:7F
         Signature algorithm name: SHA1withRSA
         Version: 3

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X