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

  • "No se puede encontrar la base de datos de API; Comprobación de API no se realizó "en SDK de aplicaciones de Android con Eclipse
  • Android L: Compatibilidad con versiones anteriores de Android
  • Excluir la pantalla xLarge para la versión de Android SDK 2.1
  • Error de Mobile SDK: OPERATION_NOT_ALLOWED
  • La conversión al formato de Dalvik falló: No se puede ejecutar dex: Los archivos múltiples dex definen Lcom / squareup / okhttp / Address;
  • Modifique AIRPLANE_MODE_ON en Android 4.2 (y superior)
  • Cambiar la orientación de la pantalla - Android 3.2 en VirtualBox
  • Córdoba y configuración de Android mediante línea de comandos
  • Android 2.1 vs 2.2
  • Facebook SDK con Android, obtener código en lugar de token de acceso
  • Android Studio: Error al cargar dx.jar
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.