Generating hash key for app using facebook sdk

六眼飞鱼酱① 提交于 2019-11-26 15:20:50

问题


I am using facebook sdk for login into my application. The application runs fine on HTC devices. The application also works fine on Samsung devices if there is no facebook app pre installed.

But if there is already facebook app on mobile and then the user installs my app, the user is never logged in. From what I know, I think this might be a problem of single sign on, and I think this is somewhat related with generating proper application hash key, and using the hash key in facebook application which I used to log into the mobile app.

Please guide me how to create the hash key. I am running ubuntu 10.4.

When I run this command in terminal :-

keytool -exportcert -alias <your keystore alias name>.keystore -keystore ~/.android/<your keystore name>.keystore | openssl sha1 -binary | openssl base64

I am never prompted for password, though I am given the hash key.


回答1:


Try this:

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

I hope you will get it. I just checked it and I got the prompt for password.




回答2:


You can use this code block to generate hash key. Put this code block in your onCreate() method.

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) {

    }



回答3:


If it's not prompting you for password, then first open your terminal and type :

sudo apt install openjdk-8-jre-headless

And then follow the regular way, just type:

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

For password put: android You are all done.

This answer is for debug purpose only, for release purpose use your .jks file to generate hash key.




回答4:


Just give the command as:

keytool -exportcert -alias androiddebugkey -keystore debug.keystore

and give the keystroke password or android or enter

Here you have to go to the directory structure until ".android" then run this commnad.In general the path is C:\Users\User-name\.android>.




回答5:


Check three parts in your environment.

  1. where is "debug.keystore"?

    find / -name "debug.keystore"

    if you can't find it, check you eclipse or ADT.

  2. what is alias name?

    keytool -list -v -keystore "PATH_TO_DEBUG_KEYSTORE"

  3. Check if installed openssl

    openssl

If everything is ready, it should prompt for password




回答6:


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=


来源:https://stackoverflow.com/questions/5989237/generating-hash-key-for-app-using-facebook-sdk

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!