124 votes

Facebook Android Générer Une Clé De Hachage

En essayant de créer une application android avec Facebook de l'intégration, j'ai reçu de la part dans les docs où vous devez générer une clé de hachage de fichier, il spécifie pour exécuter le code suivant

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore 
| openssl sha1 -binary
| openssl base64

Lorsque je l'exécute dans mon terminal j'obtiens une erreur de fichier de clés falsifié ou le mot de passe est incorrect

Je veux juste générer ma Clé de Hachage

Quelqu'un peut me pointer dans la bonne direction?

286voto

Vijay Arora Points 1494

Afin de générer une clé de hachage, vous devez suivre quelques étapes faciles.

1) Télécharger Openssl à partir de: ici.

2) Faire une openssl dossier dans C lecteur

3) Extraire les fichiers Zip dans cette openssl dossier créé dans C Lecteur.

4) Copier le Fichier debug.fichier de stockage des clés d' .android dossier dans mon cas (C:\Users\SYSTEM.android) et les coller dans le Dossier bin du JDK dans mon cas (C:\Program Files\Java\jdk1.6.0_05\bin)

5) Ouvrez l'invite de commande et donner le chemin du JDK dossier Bin dans mon cas (C:\Program Files\Java\jdk1.6.0_05\bin).

6) Copiez le code suivant et appuyez sur entrée

keytool -exportcert -alias androiddebugkey -keystore de débogage.keystore > c:\openssl\bin\debug.txt

7) Maintenant, vous devez entrer le mot de passe, Mot de passe = android.

8) Si vous voyez dans openssl Bin, vous obtiendrez un fichier avec le nom de debug.txt

9) Maintenant, vous pouvez redémarrer l'invite de commande ou de collaborer avec l'invite de commande

10) retournez à disque C et donner le chemin de openssl Bin dossier

11) copier le code suivant et collez -

openssl sha1 -binaire debug.txt > debug_sha.txt

12) vous obtiendrez debug_sha.txt dans openssl dossier bin

13) recopier code suivant et collez -

openssl en base64 dans debug_sha.txt > debug_base64.txt

14) vous obtiendrez debug_base64.txt dans openssl dossier bin

15) ouvrir debug_base64.txt fichier Ici est votre Clé de hachage.

150voto

AnhSirk Dasarp Points 3299

Mise à JOUR de la RÉPONSE (Génération de code) méthode plus Simple :

Dans mon expérience, openssl toujours être gênant, j'ai essayé la deuxième méthode proposée par facebook. Et c'est merveilleux. C'est la meilleure méthode pour obtenir la clé de hachage.

La deuxième option consiste à imprimer la clé de hachage envoyé à Facebook et utiliser cette valeur. Apportez les modifications suivantes dans le onCreate() la méthode dans votre activité principale:

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    "com.facebook.samples.loginhowto", 
                    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) {

        } catch (NoSuchAlgorithmException e) {

        }
        ...other operations

}//end of onCreate

Remplacer com.facebook.les échantillons.loginhowto avec votre propre nom de paquet ( nom du package dans l'Manifest.xml).

Lien officiel - https://developers.facebook.com/docs/android/login-with-facebook/ ( Voir en bas de la page)

VIEILLE RÉPONSE (Génération Keyhash utilisant openssl )

  1. pour générer la signature vous avez besoin d'openssl est installé sur votre pc. Si vous n'en avez pas, télécharger openssl à partir d'ici
  2. Dans C: , Créez openssl le dossier
  3. extraire le contenu de téléchargé openssl fichier zip en openssl le dossier en C:lecteur
  4. ouvrez l'invite de Commande
  5. déplacer bin de openssl - je.e C:\openssl\bin dans l'invite de commande
  6. exécutez la commande suivante pour générer votre keyhash. Lors de la génération de hashkey il devrait vous demander un mot de passe.

    keytool -exportcert -alias androiddebugkey -keystore "C:\Users\Anhsirk.android\debug.keystore" | openssl sha1 -binaire | openssl base64

REMARQUE: dans le code ci-dessus, notez que vous devez donner à votre chemin d'accès de l'utilisateur, ( j'.e dans mon cas c'est C:\Users\Anhsirk , vous avez juste besoin de les modifier pour votre compte d'utilisateur.

Donner le mot de passe android

. Si elle ne demande pas de mot de passe de votre fichier de clés chemin d'accès est incorrect.

Si tout fonctionne correctement, il devrait vous donner la hashkey ci-dessous.

enter image description here

20voto

allthenutsandbolts Points 806

Supprimer votre certificat de débogage sous ~/.android/debug.fichier de clés (sur Linux et Mac OS X); le répertoire est quelque chose comme %USERHOME%/.android sur Windows.

Le plugin Eclipse doit alors générer un nouveau certificat lorsque vous essayez de générer un paquet de débogage.

Laissez-moi savoir si cela fonctionne.

14voto

tigerden Points 313

La touche de droite peut être obtenu à partir de l'application elle-même en ajoutant le code suivant pour porter un toast à la bonne clé de hachage (dans le cas de Facebook SDK 3.0 de partir, cela fonctionne)

try {
            PackageInfo info = getPackageManager().getPackageInfo("com.package.mypackage",         PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                String sign=Base64.encodeToString(md.digest(), Base64.DEFAULT);
                Log.e("MY KEY HASH:", sign);
                Toast.makeText(getApplicationContext(),sign,         Toast.LENGTH_LONG).show();
            }
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}

Remplacer com.package.mypackage avec votre nom de paquet

7voto

trgraglia Points 3196

Si vous renoncez, utiliser le fichier de clés vous avez utilisé pour exporter votre application avec et pas le débogage.fichier de stockage des clés.

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