para for descargar app android windows facebook
hereheredescargar openssl-0.9.8e X64descargar openssl-0.9.8e X64,el código de Google

android - for - windows facebook app download



Key hash para la aplicaciĆ³n de Android-Facebook (28)

  1. Simplemente abra su archivo de actividad principal y cree la siguiente función de mención:

    try { PackageInfo info = getPackageManager().getPackageInfo( "your.application.package.name", 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 (PackageManager.NameNotFoundException e) { } catch (NoSuchAlgorithmException e) { }

1.1 Ejecute su aplicación, esto generará una clave Hash para su aplicación.

  1. Ahora, abra el log cat y busque con "KeyHash" y copie la clave de hash.

  2. Una vez que genere la clave Hash puede eliminar esta función.

Estoy trabajando en una aplicación para Android, en la que quiero integrar una función de publicación en Facebook. Descargué el SDK de Android de Facebook y obtuve el archivo readme.md (archivo de texto) allí, en el que se menciona para generar el hash clave para Android. ¿Cómo lo genero?


1) Cree una clave para firmar su solicitud y recuerde el alias.

2) Instalar OpenSSL.

3) Ponga la carpeta bin de OpenSSL en su ruta.

4) Siga los pasos mencionados en "Configurar inicio de sesión único" en la página FB-Android-SDK y genere su clave de hash. Asegúrese de poner el alias correcto y el nombre del archivo de almacén de claves.

5) Cree una aplicación en Facebok y, en la pestaña Dispositivos móviles, ingrese esta clave de hash.


Agregue este código a onCreate de su actividad, imprimirá el hash bajo la etiqueta KeyHash en su logCat

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) { } catch (NoSuchAlgorithmException e) { }

Puede agregar múltiples hashkeys para su cuenta, por lo que si ha estado ejecutando en depuración , no olvide ejecutar esto nuevamente en el modo de lanzamiento .


Aquí están los pasos

  1. Descargue openssl desde el código de Google (si tiene una máquina de 64 bits, debe descargar openssl-0.9.8e X64, no la última versión)

  2. Extraelo. cree una carpeta - OpenSSL en C: / y copie el código extraído aquí.

  3. Detectar la ruta del archivo debug.keystore. Si u no encontró, haga una búsqueda en C: / y use la ruta en el comando en el siguiente paso.

  4. detecte su ruta keytool.exe y diríjase a ese dir / in en el símbolo del sistema y ejecute este comando en 1 línea-

    $ keytool -exportcert -alias androiddebugkey -keystore "C: / Documents and Settings / Administrator.android / debug.keystore" | "C: / OpenSSL / bin / openssl" sha1 -binary | "C: / OpenSSL / bin / openssl" base64

    • Se pedirá contraseña, se pone android.
    • eso es todo. obtendrás un hash clave

Para más información visita aquí.


Cometí un pequeño error que debería tenerse en cuenta. Si está utilizando su almacén de claves, dé su nombre de alias, no androiddebugkey ...

Resolví mi problema. Ahora, si Facebook está instalado en mi dispositivo, mi aplicación aún está obteniendo datos sobre la integración de inicio de sesión de Facebook. Solo importa tu clave hash.

Por favor ver más abajo.

C:/Program Files/Java/jdk1.6.0_45/bin>keytool -exportcert -alias here your alias name -keystore "G:/yourkeystorename.keystore" |"G:/ssl/bin/openssl" sha1 -binary | "G:/ssl/bin/openssl" base64

Luego presione Entrar : le pedirá la contraseña y luego ingrese su contraseña del almacén de claves, no Android.

Guay.


Como answered en un problema similar, encontré que esto estaba funcionando para mí:

  • Copie el archivo apkname.apk del que desea conocer el hash en la carpeta '' Java / jdk1.7.0_79 / bin ''
  • Ejecute este comando keytool -list -printcert -jarfile apkname.apk
  • Copie el valor SHA1 y conviértalo usando este site
  • Utilice el valor de Keyhash convertido (por ejemplo, zaHqo1xcaPv6CmvlWnJk3SaNRIQ = )

Debe crear un almacén de claves con la herramienta 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 , simplemente 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 en la pared ("publish_stream") podría ser un ejemplo.

$ keytool -exportcert -alias alias_name -keystore sample_keystore.keystore | openssl sha1 -binario | openssl base64

Necesitas ejecutar el comando anterior desde cygwin.


Descargue openSSL -> Instálelo -> normalmente se instalaría en C: / OpenSSL

a continuación, abra cmd y escriba

cd../../Program Files (Enter) java (Enter) dir (Enter) cd jdk1.6.0_17 (varies with jdk versions) (Enter)

para verificar la versión jdk vaya a C: / archivos de programa / java / jdk_version

cd bin (enter) keytool -exportcert -alias androiddebugkey -keystore C:Users/Shalini/.android/debug.keystore | "C:/OpenSSL/bin/openssl sha1 -binary | "C:/OpenSSL/bin/openssl base64 (Enter)

Se le pedirá la contraseña que es Android.


Documentación oficial en el sitio del desarrollador de facebook :

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Add code to print out the key hash try { PackageInfo info = getPackageManager().getPackageInfo( "com.facebook.samples.hellofacebook", 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) { }


El mejor enfoque es utilizar el siguiente código:

private void getHashKey(String pkgName) { try { PackageInfo info = getPackageManager().getPackageInfo(pkgName, PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); String hashKey = Base64.encodeBytes(md.digest()); _hashKey_et.setText(hashKey); Log.i("KeyTool", pkgName + " -> hashKey = " + hashKey); } } catch (NameNotFoundException e) { e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } }

Pero estaba tan frustrado 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 <-

Disfrutar :)


En primer lugar, para generar su hash de clave en su computadora local, ejecute la utilidad keytool de Java (que debería estar en la ruta de su consola) contra el almacén de claves de depuración de Android. Esto es, por defecto, en su directorio de inicio y Android).

en ubuntu, está funcionando en mi computadora

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


Esto es lo que se da en la página oficial de Facebook :

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

Déjame romper este comando en fragmentos.

  1. 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.

  2. Abra un indicador de CMD y vaya al directorio anterior donde encontró "keytool.exe" .

    Clip "exe`" y pega el comando anterior proporcionado en la página de Facebook.

  3. Recibirá un error al ingresar esto que OpenSSL no se reconoce como en el comando de salida de entrada. Solución: descargue "Openssl" de OpenSSL (si tiene una máquina de 64 bits, debe descargar openssl-0.9.8e X64 ). Extraiga y guárdelo en cualquier lugar ... Lo OpenSSl en la unidad C: en la carpeta OpenSSl

  4. Reemplace el openssl en el comando anterior en el que estaba recibiendo un error de OpenSSL con "C: / OpenSSL / bin / openssl" en ambos lugares después de la canalización, "|".

  5. Si se le solicita una contraseña, ingrese android .

Y obtendrás tu clave hash. Para más pasos, vuelva a consultar la página de Facebook.


He creado una pequeña herramienta para Windows y Mac OS X. Simplemente introduzca el archivo del almacén 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 y valores de almacén de claves.

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íenme un mensaje y lo arreglaremos)

Espero que les ayude chicos ...

31 de diciembre de 2014 - EDITAR: se ha cambiado de host a AFH. Por favor, hágamelo saber 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. :)


He hecho de esta manera para Linux OS y Windows OS :

Linux:

  • Descargar Openssl
  • Terminal abierta
  • 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 pediría la contraseña de Keystore. Tienes que proporcionar la contraseña para el mismo almacén de claves .

Así que finalmente obtendrías el Hashkey de Lanzamiento .

Windows:

Pasos para liberar Hashkey :

  • Descargue Openssl (descargue desde here ), lo he descargado para el sistema operativo de 64 bits , puede encontrar más here
  • Extraer el archivo zip descargado a C: / drive solamente
  • Abrir el símbolo del sistema
  • 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 pediría la contraseña de Keystore. Tienes que proporcionar la contraseña para el mismo almacén de claves .

Así que finalmente obtendrías el Hashkey de Lanzamiento .

Hecho


La solución más simple que he encontrado es la siguiente:

  • Abre Log Cat
  • Prueba y accede a Facebook con el SDK de Android
  • Busque la línea en el registro que se ve así:

    04-24 01:14:08.605: I/System.out(31395): invalid_key:Android key mismatch. Your key "abcdefgHIJKLMN+OPqrstuvwzyz" does not match the allowed keys specified in your application settings. Check your application settings at http://www.facebook.com/developers

  • Copie "abcdefgHIJKLMN + OPqrstuvwzyz" y péguelo en el área de Facebook Key Hash de Android.


La solución más simple:

  1. No agregues la clave hash, implementa todo lo demás
  2. Cuando se presiona el inicio de sesión en Facebook, aparecerá un error que dice "Hash de clave no válido. El hash de clave" xxx "no coincide con ninguna clave almacenada ..."
  3. Abra el panel de la aplicación de Facebook y agregue el hash "xxx =" ("xxx" hash del error + "=" signo)

Las instrucciones actualmente en el Tutorial de Android de Facebook no funcionan bien en Windows . Su ejemplo muestra cómo canalizar la salida keytool a openssl, pero si lo intentas en Windows, la salida no es válida por algún motivo. Descubrí que tenía que usar archivos intermedios para que funcionara correctamente. Aquí están los pasos que me funcionaron:

Comience por descargar openssl para Windows desde Google.

C:/Users/Me>keytool -exportcert -alias my_key -keystore my.keystore -storepass PASSWORD > mycert.bin C:/Users/Me>openssl sha1 -binary mycert.bin > sha1.bin C:/Users/Me>openssl base64 -in sha1.bin -out base64.txt

Después de ejecutar estos comandos, el hash válido se almacena en el archivo base64.txt. Copia y pega esto en la configuración de tu aplicación en Facebook.


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 de acceso a su almacén de claves.

En Windows, utilice:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

Este comando debe generar una cadena de caracteres de 28 caracteres. Recuerde que COPIAR y PEGAR este Hash clave de versión 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 en: https://developers.facebook.com/docs/android/getting-started#release-key-hash y http://note.taable.com


Para las personas que no saben cómo codificar, la herramienta de generación de claves de AivarsDa en Google Play es la solución más fácil. solo obtén la clave hash y copia en la configuración de la aplicación de Facebook. El recurso compartido en la herramienta keygen hace que mi aplicación se bloquee en mi teléfono, por lo que simplemente la escribí manualmente en el bloc de notas y la copié en fb. Finalmente pasa este paso después de días de frustración.


Para obtener el código hash clave de Android, sigue estos pasos:

  1. Descarga OpenSSL para Windows here
  2. Ahora descomprime el disco C
  3. Abra un indicador de CMD
  4. Escriba cd C:/Program Files/Java/jdk1.6.0_26/bin
  5. Luego escriba solo 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 /.android/myKeyStore | C:/openssl-0.9.8k_WIN32/bin/openssl sha1 -binary | C:/openssl-0.9.8k_WIN32/bin/openssl enc -a -e
  6. Hecho

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.

PackageInfo info; try { info = getPackageManager().getPackageInfo("com.you.name", PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md; md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); String something = new String(Base64.encode(md.digest(), 0)); //String something = new String(Base64.encodeBytes(md.digest())); Log.e("hash key", something); } } catch (NameNotFoundException e1) { Log.e("name not found", e1.toString()); } catch (NoSuchAlgorithmException e) { Log.e("no such an algorithm", e.toString()); } catch (Exception e) { Log.e("exception", e.toString()); }

Puede eliminar el código después de conocer la clave;)


Use esto para imprimir hash de clave en kotlin

try { val info = context.getPackageManager().getPackageInfo(context.packageName, PackageManager.GET_SIGNATURES); for (signature in info.signatures) { val md = MessageDigest.getInstance("SHA") md.update(signature.toByteArray()) Log.d("Key hash ", android.util.Base64.encodeToString(md.digest(), android.util.Base64.DEFAULT)) } }catch (e:Exception){ }


Utilice este comando después de mantener abierto ssl en la unidad c y en la carpeta openssl.

keytool -exportcert -alias androiddebugkey -keystore "C:/Users/AJAY SUNDRIYAL.android/debug.keystore" | openssl sha1 -binary | openssl base64


Para linux

Terminal abierta:

Para la construcción de depuración

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

Encontrará debug.keystore en la carpeta ".android", cópielo, péguelo en el escritorio y ejecute el comando anterior.

Para compilación de lanzamiento

keytool -exportcert -alias <aliasName> -keystore <keystoreFilePath> | openssl sha1 -binary | openssl base64

NOTA: Asegúrese de que en ambos casos debe solicitar la contraseña. Si no solicita una contraseña, significa que hay algún error en el comando.


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 cambia el nombre del paquete de este código:

private void facebookHashKey() { try { PackageInfo info = getPackageManager().getPackageInfo("com.app.helpcove", PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); String hashCode = Base64.encodeToString(md.digest(), Base64.DEFAULT); System.out.println("Print the hashKey for Facebook :"+hashCode); Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT)); } } catch (NameNotFoundException e) { } catch (NoSuchAlgorithmException e) { } }


import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import android.os.Bundle; import android.app.Activity; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.Signature; import android.text.Editable; import android.util.Base64; import android.util.Log; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity { Button btn; EditText et; PackageInfo info; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn=(Button)findViewById(R.id.button1); et=(EditText)findViewById(R.id.editText1); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub try { info = getPackageManager().getPackageInfo("com.example.id", PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md; md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); String something = new String(Base64.encode(md.digest(), 0)); //String something = new String(Base64.encodeBytes(md.digest())); et.setText("" + something); Log.e("hash key", something); } } catch (NameNotFoundException e1) { Log.e("name not found", e1.toString()); } catch (NoSuchAlgorithmException e) { Log.e("no such an algorithm", e.toString()); } catch (Exception e) { Log.e("exception", e.toString()); } } }); } }


keytool -exportcert -alias androiddebugkey -keystore C:/Users/pravin/.android/debug.keystore | "H:/OpenSSL/bin/openssl" sha1 -binary | "H:/OpenSSL/bin/openssl" base64

Esto me funcionó ...

Pasos:

1) Open command line go to - > java Keytool..... for me C:/Program Files/Java/JDK1.7/bin 2) Download OpenSSL from google 3) paste this with changing your paths - keytool -exportcert -alias androiddebugkey -keystore C:/Users/pravin/.android/debug.keystore | "H:/OpenSSL/bin/openssl" sha1 -binary | "H:/OpenSSL/bin/openssl" base64 .................... give proper debug.keystore path and openSSL path .. 4) Finley it may be ask u password .. so give password -> android ... 5) you will get 28 characters that will be your has key


  • descargue openSSL para Windows aquí puede encontrar 64bit y 32bit aquí

  • extraer el archivo descargado

  • crear el nombre de la carpeta openSSL en la unidad C
  • copie todos los elementos extraídos en la carpeta openSSL (bin, include, lib, openssl.cnf)
  • obtener el almacén de claves de depuración de Android, la ubicación predeterminada será

C: / Usuarios / nombre de usuario / .android / debug.keystore

  • ahora obtén tu comando y pega este código

keytool -exportcert -alias androiddebugkey -keystore C: / Users / username.android / debug.keystore | "C: / openSSL / bin / openssl" sha1 -binary | "C: / openSSL / bin / openssl" base64

  • pulsa enter y obtendrás el código clave de 28 dígitos