无效的哈希密钥(facebook登录集成)

时间:2015-05-07 21:27:05

标签: android facebook hash login

首先:我已经在stackexchange上尝试了所有有用的解决方案。到目前为止还没有人工作过。

所以这是我的问题:

我尝试在我的Android应用中集成facebook登录。我可以在第一次尝试“登录”(我有机会登录,但没有任何反应)。当我再次尝试时,我收到以下错误: “无效的密钥哈希。密钥哈希与任何存储的密钥哈希都不匹配“

我做了什么:

  • 实现developer.facebook教程的所有步骤以获取登录按钮
  • 创建开发密钥(keytool -exportcert -alias androiddebugkey -keystore“%PATH%\ debug.keystore”|“%PATH%\ openssl”sha1 -binary |“%PATH%\ openssl”base64)并添加< / LI>
  • 创建一个发布密钥(keytool -exportcert -alias android -keystore“%PATH%\ debug.keystore”|“%PATH%\ openssl”sha1 -binary |“%PATH%\ openssl”base64)并添加它< / LI>
  • 当我添加我的包名和我的类名时,我收到以下消息: “我们无法在Google Play上验证您的软件包namecom.example.facebooklogin。请在继续之前仔细检查您的包裹名称。 如果您的应用尚未在Google Play上公开列出,您可以放心地忽略此警告。“ - 我忽略了该消息,因为我的应用不在google play(这是我的第一次测试游戏)

我在onCreate中添加了这个部分,但没有任何变化:

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

    }

怎么了?我不知道

1 个答案:

答案 0 :(得分:0)

将此函数添加到您的类中,并在oncreate方法中调用此函数,然后生成 signed apk (此函数将返回模式臭虫和释放的哈希键)并在您的设备中运行sign apk并检查log-cat,将生成的哈希密钥复制到facebook开发者控制台。

private void showHashKey()
{
    // Add code to print out the key hash
    try {
        PackageInfo info = getPackageManager().getPackageInfo(
                "com.kisan.kisan",
                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) {

    }

}

注意:此函数将返回模式臭虫和释放的哈希键。

检查facebook身份验证,它会正常工作