无效的密钥哈希 - android facebook

invalid key hash - android facebook

我创建了一个使用 facebook 登录的应用程序。我已将密钥哈希添加到 facebook 开发人员页面,它在所有设备上都运行良好。 现在我已经将应用程序上传到 google play,当我尝试登录时,它说密钥散列与任何存储的密钥散列都不匹配。 我复制了错误消息中的密钥散列并粘贴了它。仍然 - 不起作用。 我尝试使用发布密钥存储在 cmd 中生成密钥哈希 - 运气不好。

有谁知道问题出在哪里以及如何解决?

提前致谢!

尝试将以下代码片段添加到您的应用程序中,同时使用发布证书对其进行签名,将哈希输出与您提交到 Facebook 门户的输出进行比较:

PackageInfo info;
try {
    info = getPackageManager().getPackageInfo("com.package.name", PackageManager.GET_SIGNATURES);
    for (Signature signature : info.signatures) {
        MessageDigest md;
        md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        String hash= new String(Base64.encode(md.digest(), 0));
        Log.e("hash", hash);
    }
} catch (NameNotFoundException e1) {
    Log.e("name not found", e1.toString());
} catch (NoSuchAlgorithmException e) {
    Log.e("no such an algorithm", e.toString());
} catch (Exception e) {
    Log.e("exception", e.toString());
}