什么是密钥哈希?为什么需要它?它是否独一无二?为什么它必须用于facebook集成

时间:2015-07-02 09:30:54

标签: android facebook

什么是密钥哈希,为什么需要它并且它是唯一的?为什么有必要进行facebook整合?

获取HashKey的代码:

try{
   PackageInfo info = getPackageManager().getPackageInfo("com.example.packagename", 
            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) {
  e.printStackTrace();

} catch (NoSuchAlgorithmException e) {
    e.printStackTrace();
}

2 个答案:

答案 0 :(得分:0)

要将您的应用与Facebook API集成,您需要此密钥。 Log KeyHash将为您提供在Facebook应用程序设置页面中必须编写的值。 只有具有给定SHA1代码的应用程序才能访问facebook api。或者您将收到授权错误。 P.S:对于所有应用程序和测试设备甚至工作区,它都是独一无二的。

答案 1 :(得分:0)

什么是关键哈希?

28 character字符串Facebook字符串用于验证appFacebook之间的互动。

为何独特?

正如评论中已经提到的,它标识了app开发人员平台中的Facebook

为什么需要它?为什么有必要进行Facebook整合?

需要验证appFacebook之间的信息交换。如果没有这个,当您将应用程序发布到商店时,Facebook集成可能无法正常运行。如果您运行使用Facebook登录的应用程序,则需要将Android开发密钥哈希添加到Facebook开发人员配置文件中。

相关问题