How to generate Key Hash for facebook SDK In Mac

2019-01-21 01:56发布

问题:

I'm trying to obtain the key hash for integrating facebook into my Android app. But all over the net I can't find the way to do it on MAC OS X, only for Windows.

If someone could light me with the proper way to obtain the key hash I'd really appreciate it.

Thank you!

回答1:

Sorry, what key tool?

If you want to generate a Facebook App ID/Key, go to https://developers.facebook.com/apps and create a Facebook app.

If you want the keytool that you can use to create certificates etc, that is included in the jre.

Explanation for how to deal with the keys and hash here: http://developers.facebook.com/docs/guides/mobile/#android



回答2:

I used following steps to generate a Key Hash for my app in facebook: (I am using Mac OSX 10.8)

  1. First open a terminal (open a command prompt in windows).
  2. Navigate in the terminal to the directory where your Android debug.keystore is stored.
  3. Mostly it will located under “/Users/user_name/.android/” (In Windows will be C:\Documents and Settings\.android).
  4. Once you are in the “.android” directory, run the following command.

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

  5. When it prompts you for a password, type android and hit Enter

  6. Copy the value printed in the terminal that ends with an “=” and paste it in the Key Hash field in Facebook. Then click the Save Changes button.

Reference: Integrate Facebook logins in your Android app



回答3:

Please follow below steps to find debug.keystore and generate key hash for android development at mac.

  1. Open terminal

  2. Type cd ~/.android and hit enter to go to .android directory

  3. If you want to open .android directory in finder, type open . and hit enter. Then .android directory will be opened in finder where you can find debug.keystore. If you do not want to open .android directory and only want to generate key hash, then skip this point and follow #4.

  4. In terminal where you are already in .android directory type

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

    and hit enter.

  5. You are asked for password. Enter android as password and hit enter. Then you get key hash ending with "="

  6. Copy key hash,enter in your facebook app setting page and save changes.



回答4:

Never did it on Mac before, but here are some advices:

1.You need OpenSSL. Install it. In Windows I just extract zip file, then copy three file include openssl.exe in bin folder to jdk's bin folder (where keytool is), don't know how it work on Mac.

2.Copy file keystore what you want to get key hash to jdk's bin folder. My keystore is debug.keystore (because I'm still in test, I don't want to use the main keystore).

3.Using command line to go to jdk's bin folder (In Windows, I just Run -> cmd -> type cd %JAVA_HOME%)

4.Type this command:
keytool -exportcert -alias alias_name -keystore sample_keystore.keystore | openssl sha1 -binary | openssl base64

In my case (debug.keystore):
keytool -exportcert -alias androiddebugkey -keystore debug.keystore | openssl sha1 -binary | openssl base64
then enter password for debug.keystore: android (without password, the key hash's still generated and the same as with password, don't know why).

You'll get some string with "=" character at the end. Go to your app setting -> mobile -> fill that key hash (include "=") to Android key hash.



回答5:

(honestly, not an answer, just a note for all visitors having this or similar trouble)

There is a way to obtain a key hash without JDK and OpenSSL by using pure Java utility android-fb-keytool. You can checkout and build source code.