哪个密码需要为Android中的Facebook API生成哈希密钥?

时间:2016-09-01 07:53:54

标签: android hash facebook-login

在浏览Getting Started FaceBook API之后,在Android应用程序中按下“登录”按钮后收到错误消息:

无效的密钥哈希。密钥哈希不匹配..

现有的SO接受的答案都没有用。

生成哈希时我应填写哪个密码?或者任意密码都可以吗?

我还尝试将错误消息中的哈希键填入Facebook网站,但它没有帮助。

我正在使用mac。

2 个答案:

答案 0 :(得分:0)

获取下面代码生成的keyhash并将该keyhash放入您的facebook应用程序,在Login Activity中调用此方法并从Logcat获取keyhash。

 try {
        PackageInfo info = getPackageManager().getPackageInfo(
                "packagename",
                PackageManager.GET_SIGNATURES);
        for (android.content.pm.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)

你使用哪个操作系统? 如果您使用Windows:

  1. 转到您的jdk / bin文件夹(通常在程序文件中)。
  2. 复制路径。
  3. 输入cmd。
  4. 输入:cd {此处粘贴路径}。
  5. 在您的计算机中搜索.android文件夹(通常在C:\ Users \ name中)
  6. 复制路径。
  7. 现在,请在cmd中输入:
  8.   

    keytool -exportcert -alias androiddebugkey -keystore {path from   6} .android \ debug.keystore | openssl sha1 -binary | openssl base64

    1. 密码:android
    2. 复制代码并在facebook网站上使用。
    3. MAC:

      第7节

        

      keytool -exportcert -alias androiddebugkey -keystore   〜/ .android / debug.keystore | openssl sha1 -binary | openssl base64

      请勿忘记添加您的活动:

      @Override
          protected void onActivityResult(int requestCode, int resultCode, Intent data) {
              super.onActivityResult(requestCode, resultCode, data);
              callbackManager.onActivityResult(requestCode, resultCode, data);
          }