Q: What do these key hashes do?
- They uniquely identify your keystore and application. This is a unique fingerprint for your application:
Signing your applications
- Android requires all applications to be digitally signed with a certificate before they can be installed. Android uses this certificate to determine the author of the application, and the certificate does not need to be signed by a certification authority. Android applications often use self-signed certificates. The application developer has a private key certificate.
Signature Overview
- You can sign the application in debug or release mode. You sign your application in debug mode during development and in release mode when you are ready to distribute your application. The Android SDK generates a certificate for signing applications in debug mode. To sign applications in release mode, you need to generate your own certificate. For more information, you can see which keys are in
http://developer.android.com/tools/publishing/app-signing.html
https://developers.facebook.com/docs/facebook-login/android
Q: Why is there a need to create different key hashes for Release and Development?
As you know, the android uses different Keystores for both development and release, since the two keystores are different in all aspects, they both have different fingerprints and SHA-1 hashes, so they are treated completely differently.
Q: If I have not published my application on the PlayStore yet. Can I use the Release key instead of using the development key?
Yes, you can use the release key for generating APKs, but if you are in debug mode, this key does not work at all.
Q: If I use my application on the PlayStore, can I continue to use the development key?
Yes, you can continue to use the development key, but you cannot use the debug key.
Q: What should I put in YOUR_RELEASE_KEY_ALIAS and YOUR_RELEASE_KEY_PATH? Can someone provide samples please?
attached image if you are concerned about facebook keys 
Q: Why does this happen when we develop for iOS, these key hashes were not required?
This is due to platform requirements. It is not necessary that another platform be required on one platform.
Single sign-on
Single sign-on is an extension (and replacement) of services such as Facebook Connect, connection to third-party social applications and services. If you are already logged in to Facebook on your mobile phone, you can log in to other applications using your Facebook credentials.
Here is the code for generating the fb fingerprint.
public void generateFbFingerPrint() { try { PackageInfo info = getPackageManager().getPackageInfo( "com.group3amd.gc.activity", PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); String sign = Base64 .encodeToString(md.digest(), Base64.DEFAULT); Log.e("KEYHASH:", sign); Toast.makeText(getApplicationContext(), sign, Toast.LENGTH_LONG) .show(); } } catch (NameNotFoundException e) { e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } }