Implementing Facebook into your App: invalid key with keytool
I
recently had an annoying error. I wanted to implement some "Post to
Facebook" functionality to my application and i got an error saying that
my key vas invalid...

Facebook unique hash error
To implement this I just followed the official implementation of the SDK and after a quick search it seems that its is a problem that more developers run into.
I found the answer to my problem on StackOverflow. Mr. Omsn just makes the key that the Facebook API wants from within your application.
Here is a quick code snippet:
try {
PackageInfo info = getPackageManager().getPackageInfo("**YOURPACKAGENAME**", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.i("PXR", Base64.encodeBytes(md.digest()));
}
}
catch (NameNotFoundException e) {}
catch (NoSuchAlgorithmException e) {}Only thing you need is 1 extra class (Base64) to get this working. I used this one.
one other thing i changed is the application type to "Native App" in the Facebook application registry.
I made a simple Eclipse project that prints the key to the LogCat window. I hope this helps you guys, whenever you run into this problem.
Edit: this appears to be a Windows problem. You can also install Cygwin and run the keytool command in the Cygwyn shell
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)





