Je travaille sur une application Android, dans laquelle je souhaite intégrer une fonction de publication Facebook. J'ai téléchargé le SDK Facebook-Android et j'ai obtenu le fichier readme.md (fichier texte) dans lequel il est mentionné pour générer le hachage de clé pour Android. Comment le générer?
229
Réponses:
Voici les étapes-
Télécharger openssl à partir du code Google (si vous avez une machine 64 bits, vous devez télécharger openssl-0.9.8e X64 pas la dernière version)
Extrayez-le. créez un dossier - OpenSSL en C: / et copiez le code extrait ici.
détecter le chemin du fichier debug.keystore. Si vous ne l'avez pas trouvé, faites une recherche dans C: / et utilisez le chemin dans la commande à l'étape suivante.
détectez votre chemin keytool.exe et accédez à cette invite de commande dir / in et exécutez cette commande en 1 ligne-
Pour plus d'informations, visitez ici
la source
$
.[EDIT 2020] -> Maintenant, je recommande totalement la réponse ici , beaucoup plus facile à utiliser Android Studio, plus rapide et pas besoin de manipuler de code - celui ci-dessous était de retour aux jours de l'éclipse :) -.
Vous pouvez utiliser ce code dans n'importe quelle activité. Il enregistrera la clé de hachage dans le logcat, qui est la clé de débogage. C'est facile et c'est un soulagement que d'utiliser SSL.
Vous pouvez supprimer le code après avoir connu la clé;)
la source
keytool
commande, j'obtenais les mauvais hachages de touches (je ne sais pas pourquoi, j'ai décidé que je m'en fichais suffisamment pour enquêter). Cela a fonctionné et a littéralement pris 5 minutes pour obtenir le débogage et libérer les hachages de touches. +1J'ai créé un petit outil pour Windows et Mac OS X. Il suffit de jeter le fichier de stockage de clés et d'obtenir la clé de hachage.
Si vous voulez le fichier debug.keystore par défaut, utilisez l'alias et le mot de passe par défaut. Sinon, utilisez votre propre fichier de clés et valeurs.
Vérifiez-le, téléchargez la version Windows ou téléchargez la version Mac OS X (Dev-Host peut parfois être en panne ... donc si le lien est rompu, envoyez-moi un MP et je le corrigerai).
J'espère que ça vous aide les gars ...
31 décembre 2014 - EDIT: a changé d'hôte pour AFH. Veuillez me faire savoir si les liens sont rompus
21 nov. 2013 - MODIFICATION:
Comme les utilisateurs l'ont demandé, j'ai ajouté un emplacement de magasin de clés par défaut et un bouton DONNER. N'hésitez pas à l'utiliser si je vous ai aidé. :)
la source
keytool
ligne de commande? N'est-il pas censé produire des résultats identiques, s'il est appliqué au même fichier de clés?Les instructions actuellement dans le tutoriel Android de Facebook ne fonctionnent pas bien sous Windows . Leur exemple montre comment diriger la sortie de keytool vers openssl mais si vous essayez ceci sous Windows, la sortie n'est pas valide pour une raison quelconque. J'ai constaté que je devais utiliser des fichiers intermédiaires pour le faire fonctionner correctement. Voici les étapes qui ont fonctionné pour moi:
Commencez par télécharger openssl pour Windows à partir de Google.
Après avoir exécuté ces commandes, le hachage valide est stocké dans le fichier base64.txt. Copiez et collez ceci dans les paramètres de votre application sur Facebook.
la source
Voici ce qui est donné sur la page officielle de Facebook :
Permettez-moi de diviser cette commande en fragments.
Cherchez
"keytool.exe"
. Vous pouvez rechercher cela sur le lecteur C :. Vous pouvez le trouver dans"java jdk"
ou"java jre"
. Si vous avez installé plusieurs versions, choisissez-en une.Ouvrez une invite CMD et accédez au répertoire ci-dessus où vous l'avez trouvé
"keytool.exe"
.Coupez le "exe" et collez la commande ci-dessus fournie sur la page Facebook.
Vous obtiendrez une erreur en entrant ceci que OpenSSL n'est pas reconnu comme dans la commande de sortie d'entrée. Solution: Téléchargez "Openssl" depuis OpenSSL (si vous avez une machine 64 bits, vous devez télécharger openssl-0.9.8e X64 ). Extrayez-le et enregistrez-le n'importe où ... Je l'ai enregistré sur le lecteur C: dans le
OpenSSl
dossierRemplacez le openssl dans la commande ci-dessus dans laquelle vous obteniez une erreur d'OpenSSL avec "C: \ OpenSSL \ bin \ openssl" aux deux endroits après le canal, "|".
Si un mot de passe vous est demandé, entrez
android
.Et vous obtiendrez votre clé de hachage. Pour plus d'informations, reportez-vous à nouveau à la page Facebook.
la source
Ajoutez ce code à
onCreate
votre activité, il imprimera le hachage sous la balise KeyHash dans votre logCatVous pouvez ajouter plusieurs touches de hachage pour votre compte, donc si vous avez exécuté le débogage, n'oubliez pas de l'exécuter à nouveau en mode de publication .
la source
Pour obtenir le code de hachage de clé Android, procédez comme suit:
cd C:\Program Files\Java\jdk1.6.0_26\bin
keytool -export -alias myAlias -keystore C:\Users\
votre nom d'utilisateur\.android\myKeyStore | C:\openssl-0.9.8k_WIN32\bin\openssl sha1 -binary | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e
la source
myKeyStore
, donnez le chemin de votre clé de version. Le code ci-dessus est pour la clé de débogageLa solution la plus simple que j'ai trouvée est la suivante:
Recherchez la ligne dans le journal qui ressemble à ceci:
Copiez "abcdefgHIJKLMN + OPqrstuvwzyz" et collez-le dans la zone Facebook Android Key Hash.
la source
KeyHash: XWwXXXXX/5xxxxxxxxxxx=
dans le journal et m'a aidé!Vous pouvez obtenir le hachage de clé à partir de la clé SHA-1. C'est très simple, vous devez obtenir votre clé SHA-1 (APK signé) sur le Play Store, vérifiez l'image ci-dessous.
Maintenant, copiez cette clé SHA-1 et collez-la dans ce site Web http://tomeko.net vérifiez également l'image ci-dessous pour obtenir votre clé de hachage.
la source
J'ai fait de cette façon pour Linux OS et Windows OS :
Linux:
keytool -exportcert -alias **myaliasname** -keystore **/home/comp-1/Desktop/mykeystore.jks** | openssl sha1 -binary | openssl base64
Veuillez changer le nom d'alias et le magasin de clés avec son chemin comme exigence.
Terminal se demander de mot de passe de Keystore. Vous devez fournir un mot de passe pour le même magasin de clés .
Donc, finalement, vous obtiendrez la version Hashkey .
Les fenêtres:
Étapes de libération de Hashkey :
keytool -exportcert -alias **myaliasname** -keystore **"C:\Users\hiren.patel\Desktop\mykeystore.jks"** | "C:\openssl-0.9.8e_X64\bin\openssl.exe" sha1 -binary | "C:\openssl-0.9.8e_X64\bin\openssl.exe" base64
Veuillez changer le nom d'alias et le magasin de clés avec son chemin comme exigence.
Remarque:
Veuillez mettre vos coordonnées là où j'ai marqué entre ** **.Terminal se demander de mot de passe de Keystore. Vous devez fournir un mot de passe pour le même magasin de clés .
Donc, finalement, vous obtiendrez la version Hashkey .
Terminé
la source
téléchargez openSSL pour windows ici vous pouvez trouver 64bit et 32bit ici
extraire le fichier téléchargé
la source
android
donne un hachage à 24 chiffres et la frappea
donne un hachage à 28 chiffres. Je ne sais pas pourquoi!Vous devez créer un fichier de clés par le keytool pour les applications signées pour Android comme la procédure décrite dans le site Android , puis vous devez installer cygwin, puis vous devez installer openssl à partir du code Google, puis exécuter la commande suivante et vous obtiendrez le hachage clé pour Android, puis mettez cette clé de hachage dans l'application Facebook que vous avez créée. Et puis vous pouvez accéder à l'application facebook via l'application Android pour poster un mur ("publish_stream") pourrait être un exemple.
$ keytool -exportcert -alias alias_name -keystore sample_keystore.keystore | openssl sha1 -binaire | openssl base64
Vous devez exécuter la commande ci-dessus à partir de cygwin.
la source
Téléchargez openSSL -> Installez-le -> il serait généralement installé dans C: \ OpenSSL
puis ouvrez cmd et tapez
pour vérifier la version jdk, allez dans C: / program files / java / jdk_version
Il vous demandera un mot de passe qui est Android.
la source
Ouvrez simplement votre fichier d'activité principal et créez la fonction de mention ci-dessous:
1.1 Exécutez votre application, cela générera une clé de hachage pour votre application.
Maintenant, ouvrez log cat et recherchez avec "KeyHash" et copiez la clé de hachage.
Une fois que vous générez la clé de hachage, vous pouvez supprimer cette fonction.
la source
1) Créez une clé pour signer votre demande et souvenez-vous de l'alias.
2) Installez OpenSSL.
3) Mettez le dossier bin d'OpenSSL dans votre chemin.
4) Suivez les étapes mentionnées sous "Configuration Single Sign-On" sur le FB-Android SDK la page et générer votre clé Hash. Assurez-vous de mettre l'alias et le nom de fichier de clés corrects.
5) Créez une application sur Facebok et sous l'onglet Appareils mobiles, entrez cette clé de hachage.
la source
Documentation officielle sur le site des développeurs facebook :
la source
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
et je reçois toujours le hachage de clé ne correspond à aucun hachage de clé stockéCela a fonctionné pour moi ...
Pas:
la source
Pour Linux
Terminal ouvert:
Pour Debug Build
vous trouverez debug.keystore à partir du dossier ".android" copiez-le et collez-le sur le bureau et exécutez la commande ci-dessus
Pour la version Build
REMARQUE: assurez-vous que dans les deux cas, il doit demander un mot de passe. S'il ne demande pas de mot de passe, cela signifie que quelque chose ne va pas dans la commande.
la source
Pour une application Android
Ce code est utilisé pour obtenir la clé de hachage dans votre application Android pour l'intégration Facebook. J'ai testé tous les appareils et ça marche. Modifiez uniquement le nom de package de ce code:
la source
Comme répondu sur un problème similaire, j'ai trouvé que cela fonctionnait pour moi:
apkname.apk
fichier dont vous voulez connaître le hachage dans le ' dossier Java \ jdk1.7.0_79 \ bin 'keytool -list -printcert -jarfile apkname.apk
SHA1
valeur et convertissez-la en utilisant ce sitela source
La solution la plus simple:
la source
Pour générer un hachage de votre clé de version, exécutez la commande suivante sur Mac ou Windows en remplaçant votre alias de clé de version et le chemin d'accès à votre fichier de clés.
Sous Windows, utilisez:
Cette commande doit générer une chaîne de 28 characher. N'oubliez pas que COPY et PASTE cette clé de sortie dans les paramètres Android de votre ID d'application Facebook.
image: fbcdn-dragon-a.akamaihd.net/hphotos-ak-xpa1/t39.2178-6/851568_627654437290708_1803108402_n.png
Référez-vous à: https://developers.facebook.com/docs/android/getting-started#release-key-hash et http://note.taable.com
la source
Utilisez ceci pour imprimer le hachage des clés dans Kotlin
la source
Résolu le mien aussi dans Android Studio mais avec une approche légèrement différente.
Pour obtenir la valeur SHA-1 dans Android Studio.
La valeur SHA-1 ressemble à ce CD: A1: EA: A3: 5C: 5C: 68: FB: FA: 0A: 6B: E5: 5A: 72: 64: DD: 26: 8D: 44: 84
et ouvrez http://tomeko.net/online_tools/hex_to_base64.php pour convertir votre valeur SHA1 en base64. C'est ce dont Facebook a besoin pour obtenir le hachage généré "******************** =" et copier le hachage de clé dans la console de l'application Facebook.
Une partie de cette réponse tirée d'ici Github Link
la source
Il y a deux méthodes disponibles , l'une complexe et l'autre simple
Première méthode: (peu complexe)
vous devez d'abord télécharger ssl
64bit
ou en32bit
conséquence, n'oubliez pas de télécharger le fichier avec le nom contenante
après le code de version openssl-0.9.8e_X64.zip OU openssl-0.9.8e_WIN32.zip pas avec lek
code après la version,et placez-le dans le répertoire AndroidStudio / jre / bin, si vous ne savez pas où placer, vous pouvez trouver ce répertoire en cliquant avec le bouton droit sur le raccourci du studio Android comme suit:
maintenant vous avez réussi deux choses requises en un seul endroit, mais vous devez toujours trouver le chemin pour votre
debug.keystore
, qui peut toujours être trouvé dans le"C:\Users\yourusernamehere\.android\debug.keystore"
,Comme tout est configuré, laissez organiser la commande que vous vouliez exécuter pour la génération de clé de hachage
base64 format
, et votre commande ressemblera à ceciil vous demandera d'entrer un mot de passe pour le debug.keystore, qui est android par défaut. si vous utilisez votre propre clé, le mot de passe sera également le vôtre. la sortie ressemblera à ceci si tout se passe bien comme prévu, j'espère que cela peut aider
Deuxième méthode (respectivement facile)
si vous ne voulez pas passer par toutes les procédures ci-dessus, utilisez simplement la méthode suivante pour enregistrer la clé de sécurité:
production:
la source
La meilleure approche consiste à utiliser le code suivant:
Mais j'étais tellement frustré par le fait qu'il n'y ait pas d'outil simple pour générer la HashKey pour l'application Facebook. Chaque fois, je devais jouer avec Openssl et Keytool ou utiliser un code pour obtenir le hachage de la signature ...
J'ai donc écrit un KeyGenTool simple qui fera ce travail pour vous: -> KeyGenTool sur Google Play <-
Prendre plaisir :)
la source
J'ai fait une petite erreur qui doit être gardée à l'esprit. Si vous utilisez votre magasin de clés, donnez votre nom d'alias, pas androiddebugkey ...
J'ai résolu mon problème. Maintenant, si Facebook est installé sur mon appareil, mon application reçoit toujours des données sur l'intégration de connexion Facebook. Ne vous souciez que de votre clé de hachage.
Veuillez voir ci-dessous.
Puis appuyez Enter - il vous demandera le mot de passe, puis entrez votre mot de passe de magasin de clés, pas Android.
Cool.
la source
la source
Code Kotlin pour obtenir la clé de hachage
N'oubliez pas de générer des clés dans l'environnement de débogage et de publication car elles changent selon le paramètre de construction.
la source
essaye ça :
1) Obtenez la clé de hachage à l'aide de la ligne de commande (Doc officiel: https://developers.facebook.com/docs/android/getting-started )
OU
2) Obtenez la clé de hachage en utilisant le code
la source