我通过以下命令创建了密钥哈希:
keytool -exportcert -alias mykey -keystore keystore | OpenSSL的 sha1 -binary | openssl base64
或者:
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.company.appname",
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 (PackageManager.NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
两者都返回相同的密钥哈希:xxxxxxxxxxxxxxxxx =,最后一个字母是“=”。我在Facebook的应用程序中配置它。
appid,显示名称,包名称和类名都是正确的。但我仍然遇到了无效密钥哈希问题。
但错误消息中显示的密钥哈希没有“=”。这是问题的原因吗?或者还有什么我应该知道的吗?感谢
答案 0 :(得分:0)
快速修复:您可以复制该无效键哈希,并在Facebook上设置应用程序时向键哈希添加“=”。