【问题标题】:Android Facebook HashKey InvalidAndroid Facebook HashKey 无效
【发布时间】:2014-12-23 14:26:13
【问题描述】:

我在使用 Android Facebook 的密钥时遇到了一些问题。所以基本上我的密钥哈希为+J+3yf/mrgPgKeg1llIttpSjcws=,我的Facebook应用ID为1596000240623060

里面的密钥哈希使用了正确的哈希:+J+3yf/mrgPgKeg1llIttpSjcws=

但是,当我尝试从我的 Android 运行时,当我进入登录页面时,它告诉我无效的哈希键 UfL1O1VVSEn88zyVkNdltm8X5bM 与任何存储哈希键不匹配。但我没有使用那个。有什么想法吗?

提前致谢。

我将这些代码放在我调用 facebook 登录的 onCreate() 页面上:

try {
        PackageInfo info = getActivity().getPackageManager().getPackageInfo(
                "nyp.edu.eneighbourhood", 
                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) {

    }

从 cmd 开始,我正在按照您建议的方式进行操作。

【问题讨论】:

  • 让选民介意解释一下?

标签: android facebook


【解决方案1】:

您必须使用 debug.keystore 生成开发哈希密钥,如果您有发布密钥,请生成发布哈希密钥。

根据 Facebook 文档:

发展哈希

在 Mac 上:

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

在 Windows 上:

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64

释放哈希键

keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64

注意:如果你改变你的开发机器或eclipse版本,debug.keystore也会改变,所以你必须重新生成hashkey。

祝你好运!

【讨论】:

  • 我从 cmd 得到 +J+3yf/mrgPgKeg1llIttpSjcws= 哈希键。但是当我运行代码以获取哈希键时,我得到了 UfL1O1VVSEn88zyVkNdltm8X5bM。那么我应该使用哪一个?
  • 你是如何生成这些代码的?在代码和cmd中
  • 有什么想法吗?我很困惑
  • 好的,我明白了,但是代码和 cmd 中的哈希键应该相同,您使用的密钥库是否正确?
  • 当我使用 UfL1O1VVSEn88zyVkNdltm8X5bM 作为密钥哈希时,它不会显示任何无效的哈希密钥消息,但是当我的按钮单击时,它只会显示 facebook 状态栏和一个空白页面并加载一段时间 n关闭意图本身。你有什么想法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-28
  • 1970-01-01
  • 2013-07-14
  • 2014-09-17
  • 1970-01-01
相关资源
最近更新 更多