2

我正在尝试将 FB 集成到 android 应用程序。为此,我在 Windows 7 中使用 cmd 工具获取密钥哈希。

命令:

C:\adt-bundle-windows-x86-20130219\sdk\platform-tools>keytool -exportcert -alias
 andrpoiddebugkey -keystore "C:\Users\naresh.repalle\.android\debug.keystore" |
"C:\openssl\bin\openssl" sha1 -binary | "C:\openssl\bin\openssl" base64

输入密钥库密码:android

BASE_64_HASH_1

我在控制台中将密钥哈希(从cmd)设置为应用程序,fb developer然后尝试在设备中运行它后,我得到了错误,因为remote_app_id 与存储的 id 不匹配。

用于使用开发人员控制台重新检查密钥哈希。我在我的应用程序中做了一些编码。使用这个我得到密钥哈希。我正在尝试匹配这两个关键哈希,但它们是不同的。因此,我将这两个设置为关键哈希,但这次我收到错误为“未指定节点”。为什么这两个关键哈希是不同的?为什么会发生这些错误。谁能帮我。

// 添加代码以打印出密钥哈希

    try {
        PackageInfo info = getPackageManager().getPackageInfo(
                "com.android.example", 
                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) {

    } 

在这里,我将密钥散列为“BASE_64_ENCODED_HASH_2”。我在同一台机器上做了这个。为什么这两个关键哈希是不同的?

4

1 回答 1

0

似乎它仅安装 Facebook 应用程序后出现,在我这样做之前,我正在开发并执行,而没有在 FB 应用程序站点上设置任何哈希值。但是在我安装了 FB 应用程序之后,我也遇到了这个问题。如前所述,来自 FB 推荐的 cmd 字符串的哈希值和来自使用上述代码的代码内部的哈希值是不同的。

但是我添加了代码中生成的哈希,这似乎已经清除了它。

于 2015-07-30T15:27:18.937 回答