Android – obteniendo clave hash para la integración de Facebook

Estoy intentando implementar Facebook en mi aplicación para permitir cosas como enviar material a la pared del usuario, actualizar el estado ', etc.

Así que después de descargar las cosas me dijeron que obtuviera una clave usando el archivo keystore. Decidí ser valiente y crear mi propio archivo de almacén de claves (para publicar cosas más tarde) y lo hice con éxito.

Después de crear el archivo aunque estoy teniendo todo tipo de problemas tratando de retirar una clave de ella, entré en el comando a través de keytool / prompt de comando y me preguntó por mi contraseña keystore …

Después de introducir la contraseña que establecí en el primer lugar, estoy obteniendo nada más que símbolos ascii extraño y letras y mis detalles de keystore también en el medio de ella. ¿Qué va mal?

ACTUALIZACIÓN: Ok, soy consciente de que tal vez necesite usar OpenSSL para mostrar el texto correctamente. He instalado OpenSSL, pero ¿cómo lo uso para obtener el código Hash?

  1. Descargar Openssl desde: http://code.google.com/p/openssl-for-windows/downloads/list

  2. Crear una carpeta openssl en la unidad C

  3. Extraer archivos Zip en la carpeta openssl

  4. compruebe que el directorio en el que se encuentra el archivo ejecutable de keytool está en su ruta. (Por ejemplo, en mi máquina con Windows 7, está en C: \ Archivos de programa (x86) \ Java \ jre6 \ bin.)
  5. abra cmd y pegue:

    Keytool -exportcert -alias androiddebugkey -keystore ~ ​​/ .android / debug.keystore | C: \ openssl \ bin \ openssl sha1-binario | C: \ openssl \ bin \ openssl base64

tipo contraseña android si necesita recibir su código hash

Siempre uso este método bajo Linux, porque falla de la manera original:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore > key.out cat key.out | openssl sha1 -binary > key.bin cat key.bin | openssl base64 

Obtendrá la clave que necesita para entrar en la página móvil, sección Android de su aplicación de Facebook. Cada vez que utilice diferentes keytore para firmar su aplicación, tendrá que cambiar la clave en la página de facebook también.

El mejor método.

* try {PackageInfo info = getPackageManager (). getPackageInfo ("Su nombre de paquete", PackageManager.GET_SIGNATURES); para (Firma de firma: info.signatures) {MessageDigest md = MessageDigest.getInstance ("SHA"); md.update (signature.toByteArray ()); Log.d ("Su etiqueta", Base64.encodeToString (md.digest (), Base64.DEFAULT)); }} catch (NameNotFoundException e) {} catch (NoSuchAlgorithmException e) {} *

Algunas veces el openssl proporciona el keyhash incorrecto.

puede utilizar el código siguiente para obtener la clave Hash:

 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()); } 

Referencia:

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

  • Android sdk facebook cómo saber cuando un usuario no está usando su aplicación más
  • ¿Cómo recuperar la versión sdk de Android?
  • IPackageStatsObserver no se puede resolver con un tipo (Android)
  • Objetivos de la plataforma SDK de Android (para sbt gen-android <plataforma-objetivo> <nombre-paquete> <nombre>
  • Error: Detener el error del servidor ADB (código -1) {Instalación de la API - SDK de Android}
  • ¿Cuál es la diferencia entre ADT y Android SDK?
  • No se puede ejecutar el proyecto de Eclipse - no se puede encontrar la base de datos de la API
  • ¿Existe alguna fuente abierta de Realidad Aumentada sdk para android?
  • La importación de Android Facebook SDK se produce con errores - Eclipse
  • No se puede encontrar la carpeta de SDK dentro de la ruta de estudio de Android y el gestor de SDK no se abre
  • Actualizar ADT de 21.0 a 21.1
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.