您好我正在开发两个具有Facebook登录功能的Android应用程序。我通过使用Facebook doc中给出的以下代码获取密钥哈希
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.mypackage.xyzproject",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
对于android app,我得到了像2R9ySOpkkkqSwQW9JuO97YV2mnk=
这样的密钥哈希。所以我很困惑我是否会在Facebook开发者帐户中为应用程序添加相同的密钥哈希,或者我得到错误的密钥哈希。
我的下一个问题是,我可能必须在Play商店中生成不同的密钥哈希值。
答案 0 :(得分:1)
请将此用于生成密钥哈希:
keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64
注意:您必须安装openssl
我希望这会对你有所帮助。谢谢你。
如果您想使用密钥库,请使用以下内容:
keytool -exportcert -alias "<your app's alias>" -keystore "Path of Keystore" | openssl sha1 -binary | openssl base64
试试这个。
答案 1 :(得分:0)
是的,您必须生成2个键哈希,因为您没有使用debug.keystore登录。出于开发目的,您需要从debug.keystore生成密钥哈希,并将其上传到Google Play,您需要从release.keystore生成密钥哈希。然后将两个哈希值放在FB应用程序设置中