Estoy trabajando en una aplicación de Android, en la que quiero integrar una función de publicación de Facebook. Descargué el SDK de Facebook-Android, y obtuve el readme.md (archivo de texto) allí, en el que se menciona para generar el hash clave para Android. ¿Cómo lo genero?
229
Respuestas:
Aquí están los pasos
Descarga openssl del código de Google (si tienes una máquina de 64 bits debes descargar openssl-0.9.8e X64, no la última versión)
Extraelo. cree una carpeta: OpenSSL en C: / y copie el código extraído aquí.
detectar la ruta del archivo debug.keystore. Si no lo encontró, realice una búsqueda en C: / y use la Ruta en el comando en el siguiente paso.
detecte su ruta keytool.exe y vaya a ese símbolo del sistema dir / in y ejecute este comando en 1 línea-
Para más información visite aquí
fuente
$
.[EDITAR 2020] -> Ahora recomiendo totalmente la respuesta aquí , mucho más fácil con Android Studio, más rápido y sin necesidad de escribir ningún código: el siguiente estaba de vuelta en los días del eclipse :) -.
Puedes usar este código en cualquier actividad. Registrará la clave hash en el logcat, que es la clave de depuración. Esto es fácil y es un alivio que usar SSL.
Puede eliminar el código después de conocer la clave;)
fuente
keytool
comando estaba obteniendo los hashes clave equivocados (no tengo idea de por qué, decidí que no me importaba lo suficiente como para investigar) Esto funcionó y literalmente tomó 5 minutos para obtener la depuración y liberar hashes clave. +1He creado una pequeña herramienta para Windows y Mac OS X. Simplemente agregue el archivo de almacenamiento de claves y obtenga la clave hash.
Si desea el archivo debug.keystore predeterminado, use el alias y la contraseña predeterminados. De lo contrario, use su propio archivo de almacén de claves y valores.
Compruébelo, descargue la versión de Windows o descargue la versión de Mac OS X (Dev-Host puede estar inactivo a veces ... así que si el enlace está roto, envíeme un PM y lo arreglaré).
Espero que les ayude chicos ...
31 de diciembre de 2014 - EDITAR: cambio de host a AFH. Avísame si los enlaces están rotos
21 de noviembre de 2013 - EDITAR:
Como solicitaron los usuarios, agregué una ubicación de almacén de claves predeterminada y un botón DONAR. Siéntete libre de usarlo si te he ayudado. :)
fuente
keytool
línea de comando? ¿No se supone que produce resultados idénticos, si se aplica al mismo archivo de almacén de claves?Las instrucciones actualmente en el Tutorial de Android de Facebook no funcionan bien en Windows . Su ejemplo muestra cómo canalizar la salida de keytool a openssl, pero si intenta esto en Windows, la salida no es válida por algún motivo. Descubrí que tenía que usar archivos intermedios para que funcionara correctamente. Estos son los pasos que me funcionaron:
Comience descargando openssl para Windows de Google.
Después de ejecutar estos comandos, el hash válido se almacena en el archivo base64.txt. Copie y pegue esto en la configuración de su aplicación en Facebook.
fuente
Esto es lo que se da en la página oficial de Facebook :
Déjame romper este comando en fragmentos.
Busque
"keytool.exe"
. Puede buscar eso en la unidad C:. Lo puedes encontrar en"java jdk"
o"java jre"
. Si ha instalado varias versiones, elija cualquiera.Abra un indicador de CMD y vaya al directorio anterior donde lo encontró
"keytool.exe"
.Recorte el "exe" y pegue el comando anterior proporcionado en la página de Facebook.
Obtendrá un error al ingresar esto que OpenSSL no se reconoce como en el comando de entrada y salida. Solución: descargue "Openssl" de OpenSSL (si tiene una máquina de 64 bits, debe descargar openssl-0.9.8e X64 ). Extraer y guardar en cualquier lugar ... Lo guardé en la unidad C: en la
OpenSSl
carpetaReemplace el openssl en el comando anterior en el que estaba obteniendo un error de OpenSSL con "C: \ OpenSSL \ bin \ openssl" en ambos lugares después de la tubería, "|".
Si se le solicita una contraseña, ingrese
android
.Y obtendrá su clave hash. Para conocer más pasos, consulte nuevamente la página de Facebook.
fuente
Agregue este código a
onCreate
su actividad, imprimirá el hash debajo de la etiqueta KeyHash en su logCatPuede agregar múltiples hashkeys para su cuenta, por lo tanto, si ha estado ejecutando la depuración , no olvide ejecutar esto nuevamente en el modo de lanzamiento .
fuente
Para obtener el código hash de la clave de Android, sigue estos pasos:
cd C:\Program Files\Java\jdk1.6.0_26\bin
keytool -export -alias myAlias -keystore C:\Users\
su nombre de usuario\.android\myKeyStore | C:\openssl-0.9.8k_WIN32\bin\openssl sha1 -binary | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e
fuente
myKeyStore
, proporcione la ruta de su clave de liberación. El código anterior es para la clave de depuraciónLa solución más simple que he encontrado es esta:
Busque la línea en el registro que se ve así:
Copie "abcdefgHIJKLMN + OPqrstuvwzyz" y péguelo en el área Facebook Android Key Hash.
fuente
KeyHash: XWwXXXXX/5xxxxxxxxxxx=
en el registro y me ayudó!Puede obtener el hash de la clave SHA-1. Es muy simple, necesita obtener su clave SHA-1 (APK firmado) de Play Store, verifique la imagen a continuación.
Ahora copie esa clave SHA-1 y péguelo en este sitio web http://tomeko.net. También verifique la imagen a continuación para obtener su Key Hash.
fuente
He hecho de esta manera para Linux OS y Windows OS :
Linux:
keytool -exportcert -alias **myaliasname** -keystore **/home/comp-1/Desktop/mykeystore.jks** | openssl sha1 -binary | openssl base64
Cambie amablemente el nombre de alias y el almacén de claves con su ruta como su requisito.
Terminal sería preguntar por la contraseña del almacén de claves. Debe proporcionar una contraseña para el mismo almacén de claves .
Así que finalmente obtendrás el Release Hashkey .
Ventanas:
Pasos para liberar 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
Cambie amablemente el nombre de alias y el almacén de claves con su ruta como su requisito.
Nota:
Por favor, ponga sus datos donde he marcado entre ** **.Terminal sería preguntar por la contraseña del almacén de claves. Debe proporcionar una contraseña para el mismo almacén de claves .
Así que finalmente obtendrás el Release Hashkey .
Hecho
fuente
descarga openSSL para Windows aquí puedes encontrar 64 bits y 32 bits aquí
extraer el archivo descargado
fuente
android
da un hash de 24 dígitos y escribira
da un hash de 28 dígitos. No tengo idea de por qué!Debe crear un almacén de claves mediante la herramienta de claves para aplicaciones firmadas para Android como el procedimiento descrito en el sitio de Android y luego debe instalar cygwin y luego debe instalar openssl desde el código de Google, luego ejecute el siguiente comando y obtendrá el hash clave para Android y luego coloque esa clave hash en la aplicación de Facebook que creó. Y luego puede acceder a la aplicación de Facebook a través de la aplicación de Android para publicar el muro ("Publish_stream") podría ser un ejemplo.
$ keytool -exportcert -alias alias_name -keystore sample_keystore.keystore | openssl sha1 -binario | openssl base64
Debe ejecutar el comando anterior desde cygwin.
fuente
Descargue openSSL -> Instálelo -> generalmente se instalaría en C: \ OpenSSL
luego abra cmd y escriba
para verificar la versión jdk vaya a C: / archivos de programa / java / jdk_version
Le pedirá una contraseña que es Android.
fuente
Simplemente abra su archivo de actividad principal y cree la siguiente función de mención:
1.1 Ejecute su aplicación, esto generará una clave Hash para su aplicación.
Ahora, abra log cat y busque con "KeyHash" y copie la clave hash.
Una vez que genera la clave Hash, puede eliminar esta función.
fuente
1) Cree una clave para firmar su solicitud y recuerde el alias.
2) Instalar OpenSSL.
3) Coloque la carpeta bin de OpenSSL en su ruta.
4) Siga los pasos mencionados en "Configuración del inicio de sesión único" en el FB-Android-SDK de la página , y generar su clave hash. Asegúrese de poner el alias y el nombre de archivo de almacén de claves correctos.
5) Cree una aplicación en Facebok y, en la pestaña Dispositivos móviles, ingrese esta clave hash.
fuente
Documentación oficial en el sitio de desarrolladores de Facebook :
fuente
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
y todavíaEsto funcionó para mí ...
Pasos:
fuente
Para Linux
Terminal abierta:
Para la compilación de depuración
encontrará debug.keystore de la carpeta ".android", cópielo y péguelo en el escritorio y ejecute el comando anterior
Para liberar Build
NOTA: asegúrese de que en ambos casos debe solicitar la contraseña. Si no solicita contraseña, significa que algo está mal en el comando.
fuente
Para una aplicación de Android
Este código se utiliza para obtener la clave hash en su aplicación de Android para la integración de Facebook. He probado todos los dispositivos y está funcionando. Solo cambie el nombre del paquete de este código:
fuente
Como respondí en un problema similar, encontré que esto funcionaba para mí:
apkname.apk
archivo del que desea conocer el hash en la carpeta ' Java \ jdk1.7.0_79 \ bin 'keytool -list -printcert -jarfile apkname.apk
SHA1
valor y conviértalo usando este sitiofuente
La solución más simple:
fuente
Para generar un hash de su clave de lanzamiento, ejecute el siguiente comando en Mac o Windows sustituyendo su alias de clave de lanzamiento y la ruta a su almacén de claves.
En Windows, use:
Este comando debería generar una cadena de 28 caracteres. Recuerde que COPIE y PEGUE esta clave de lanzamiento Hash en la configuración de Android de su ID de aplicación de Facebook.
imagen: fbcdn-dragon-a.akamaihd.net/hphotos-ak-xpa1/t39.2178-6/851568_627654437290708_1803108402_n.png
Consulte: https://developers.facebook.com/docs/android/getting-started#release-key-hash y http://note.taable.com
fuente
Use esto para imprimir clave hash en kotlin
fuente
También resolvió el mío en Android Studio pero con un enfoque ligeramente diferente.
Para obtener el valor SHA-1 en Android Studio.
El valor SHA-1 se parece a este CD: A1: EA: A3: 5C: 5C: 68: FB: FA: 0A: 6B: E5: 5A: 72: 64: DD: 26: 8D: 44: 84
y abra http://tomeko.net/online_tools/hex_to_base64.php para convertir su valor SHA1 a base64. Esto es lo que requiere Facebook: obtenga el hash generado "******************** =" y copie el hash clave en la consola de la aplicación de Facebook.
Parte de esta respuesta tomada desde aquí Enlace Github
fuente
Hay dos métodos disponibles , uno complejo y uno fácil.
Métodos uno: (pequeño complejo)
en primer lugar, debe descargar ssl
64bit
o32bit
, en consecuencia, recuerde descargar el archivo con el nombre que contienee
después del código de versión openssl-0.9.8e_X64.zip O openssl-0.9.8e_WIN32.zip no con elk
código de versión posterior,y colóquelo en el directorio AndroidStudio / jre / bin, si no sabe dónde ubicarlo, puede encontrar este directorio haciendo clic derecho en el acceso directo de Android Studio como:
ahora ha manejado dos cosas requeridas en un solo lugar, pero aún tiene que encontrar el camino para su
debug.keystore
, eso siempre se puede encontrar en el"C:\Users\yourusernamehere\.android\debug.keystore"
,Como todo está configurado, organice el comando que desea ejecutar para la generación de la clave hash
base64 format
, y su comando se verá asíle pedirá que ingrese una contraseña para debug.keystore, que es Android de forma predeterminada. Si está utilizando su propia clave, la contraseña también será suya. la salida se verá así si todo va bien como se esperaba, espero que pueda ayudar
Segundo método (Respectivamente fácil)
si no desea realizar todo el procedimiento anterior, simplemente use el siguiente método para registrar la clave haskey:
salida:
fuente
El mejor enfoque es usar el siguiente código:
Pero estaba tan frustrante con el hecho de que no existe una herramienta simple para generar el HashKey para la aplicación de Facebook. Cada vez que tuve que jugar con Openssl y Keytool o usar un código para obtener el hash de la firma ...
Así que escribí un KeyGenTool simple que hará ese trabajo por usted: -> KeyGenTool en Google Play <-
Disfruta :)
fuente
Cometí un pequeño error que debería tenerse en cuenta. Si está utilizando su almacén de claves, indique su nombre de alias, no androiddebugkey
Resolví mi problema Ahora, si Facebook está instalado en mi dispositivo, entonces mi aplicación sigue obteniendo datos sobre la integración de inicio de sesión de Facebook. Solo importa tu clave hash.
Por favor ver más abajo.
Luego presione Enter: le pedirá la contraseña y luego ingrese la contraseña del almacén de claves, no Android.
Frio.
fuente
fuente
Código de Kotlin para obtener la clave Hash
No olvide generar claves en el entorno de depuración y liberación, ya que cambian según la configuración de compilación.
fuente
prueba esto :
1) obtenga la clave hash usando la línea de comando (Doc oficial: https://developers.facebook.com/docs/android/getting-started )
O
2) obtener la clave hash usando el código
fuente