Generar clave de hash para la aplicación utilizando facebook sdk
Estoy usando facebook sdk para iniciar sesión en mi aplicación. La aplicación funciona bien en dispositivos HTC. La aplicación también funciona bien en los dispositivos Samsung si no hay una aplicación de facebook preinstalada.
Pero si ya hay una aplicación de Facebook en el móvil y luego el usuario instala mi aplicación, el usuario nunca está conectado. De lo que sé, creo que esto podría ser un problema de inicio de sesión único, y creo que esto es algo relacionado con la generación La clave apropiada del hash de la aplicación, y usar la llave del hash en la aplicación de Facebook que utilicé para entrar en la aplicación móvil.
- No se puede localizar el símbolo 'tcgetattr' referido por "libcrypto.so"
- Cómo importar clave privada RSA, generada por openssl, en AndroidKeyStore
- Mostrar certificado de Android
- Descifrar Android SSE con OpenSSL
- Cumplimiento de FIPS para mi proyecto de Android
Por favor, guíame cómo crear la clave hash. Estoy ejecutando Ubuntu 10.4.
Cuando ejecuto este comando en el terminal: –
keytool -exportcert -alias <your keystore alias name>.keystore -keystore ~/.android/<your keystore name>.keystore | openssl sha1 -binary | openssl base64
Nunca se me pide contraseña, aunque se me da la clave de hash.
- Compila OpenSSL 1.1.0 para Android
- No se puede crear una biblioteca externa de OpenSSL para Android NDK en Windows / Cygwin
- Protocolos SSL / TLS y suites de cifrado con AndroidHttpClient
- El uso de la dirección IP para el nombre común en el certificado del servidor no funciona en Android?
- Autenticación SSL de dos vías en android
- SSLHandshakeException Ancla de confianza para ruta de certificación no encontrada Android HTTPS
- Diferentes claves públicas RSA generadas en Android
- ¿Cómo construir OpenSSL como biblioteca compartida no versionada para Android?
Prueba esto:
Keytool -exportcert -alias androiddebugkey -keystore ~ / .android / debug.keystore | Openssl sha1-binario | Openssl base64
Espero que lo consigas. Acabo de comprobarlo y me dieron la solicitud de contraseña.
Puede utilizar este bloque de código para generar clave de hash. Ponga este bloque de código en su método onCreate ().
try { PackageInfo info = getPackageManager().getPackageInfo( "Your package name", PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); Log.d("Your Tag", Base64.encodeToString(md.digest(), Base64.DEFAULT)); } } catch (NameNotFoundException e) { } catch (NoSuchAlgorithmException e) { }
Sólo dé el comando como: –
keytool -exportcert -alias androiddebugkey -keyst ore debug.keystore
Y dar la contraseña de teclado o android o entrar
Aquí tienes que ir a la estructura de directorios hasta ". Android", a continuación, ejecute este commnad.In general, la ruta de acceso es C:\Users\User-name\.android>
Compruebe tres partes en su entorno.
-
¿Dónde está "debug.keystore" ?
/ -name "debug.keystore"
Si no puede encontrarlo, compruebe que eclipse o ADT.
-
Cuál es el nombre de alias
keytool -list -v -keystore "PATH_TO_DEBUG_KEYSTORE"
-
Compruebe si se ha instalado openssl
openssl
Si todo está listo, debe pedir contraseña
Si no le pide contraseña, primero abra su terminal y escriba:
sudo apt install openjdk-8-jre-headless
Y luego siga la forma regular, simplemente escriba:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Para contraseña poner: android
Usted está todo hecho.
Esta respuesta es sólo para el propósito de depuración, para uso de la versión use su archivo .jks para generar la clave hash.
C:\openssl\bin>keytool -exportcert -alias aliasName -keystore "C:\Users\s\.android\debu g.keystore" | "C:\openssl\bin\openssl" sha1 -binary | "C:\openssl\bin\openssl" b ase64 Enter keystore password: android GEYtOJobR4NzuxX4iOl/yR6sla4=
- ¿No puedes crear Android AVD debido a la configuración de Target y CPU / ABI?
- Java sobreescribiendo métodos al crear una nueva instancia de una clase