如何获取Facebook应用程序的Facebook的关键哈希?

时间:2017-10-20 07:58:41

标签: android facebook

我使用此命令进行了关键字

keytool -exportcert -alias <aliasName> -keystore <keystoreFilePath> | openssl sha1 -binary | openssl base64

生成调试和释放keyhash。但是,这些键对只有在设备上没有安装facebook应用程序时才有效。如果安装了另外一对哈希(总共4个键),我不会理解如何获得这两个键(我在facebook sdk返回错误消息xxxx key is not registered时得到它们)

1 个答案:

答案 0 :(得分:1)

试试这个

public static void printHashKey(Context pContext) {
        try {
            PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                String hashKey = new String(Base64.encode(md.digest(), 0));
                Log.i(TAG, "printHashKey() Hash Key: " + hashKey);
            }
        } catch (NoSuchAlgorithmException e) {
            Log.e(TAG, "printHashKey()", e);
        } catch (Exception e) {
            Log.e(TAG, "printHashKey()", e);
        }
    }

这将生成调试密钥哈希,如果您想要发布密钥哈希,请在android studio中选择构建变体,然后将debug更改为release。现在再次运行上面的方法,这将生成释放密钥哈希。