Android SDK:facebook如何检查哈希键?

Android SDK:facebook如何检查哈希键?,android,facebook,security,facebook-android-sdk,Android,Facebook,Security,Facebook Android Sdk,当我们想使用Facebook SDK for Android作为SSO解决方案时,我们需要将Android应用程序签名放入Facebook应用程序设置中(的步骤5) 该签名应该通过运行Android SDK附带的keytool生成 我很好奇facebook如何验证这个签名? 要使facebook应用程序正常运行,我们需要提供facebook“应用程序Id” 对于android平台,我们需要提供包名、类名和“HashKey” 应用程序的“调试”和“发布”版本通常有2个哈希键 当应用程序访问face

当我们想使用Facebook SDK for Android作为SSO解决方案时,我们需要将Android应用程序签名放入Facebook应用程序设置中(的步骤5)

该签名应该通过运行Android SDK附带的keytool生成

我很好奇facebook如何验证这个签名?

  • 要使facebook应用程序正常运行,我们需要提供facebook“应用程序Id”
  • 对于android平台,我们需要提供包名、类名和“HashKey”
  • 应用程序的“调试”和“发布”版本通常有2个哈希键
  • 当应用程序访问facebook时,SDK内部生成哈希键并将其与facebook应用程序中提交的哈希键进行比较

    • 一年多之后,我想我最好回答我的问题

      Android的应用程序可以通过以下方式获得其他应用程序的签名:

      public String WriteSignature(String packageName)
      {     
         PackageManager pm = this.getPackageManager();
         String sig = ""; 
         PackageInfo pi = null;
         try {
             pi = pm.getPackageInfo(packageName, PackageManager.GET_SIGNATURES);
         } catch (NameNotFoundException e1) {
             e1.printStackTrace();
         }
      
         try {
             for (Signature signature : pi.signatures) {
                 MessageDigest md = MessageDigest.getInstance("SHA");
                 md.update(signature.toByteArray());
                 sig = Base64.encodeToString(md.digest(), Base64.DEFAULT);
                 Log.d(ACTIVITY_TAG, sig);
             }
         } catch (NoSuchAlgorithmException e) {
             e.printStackTrace();
         }
      
         return sig;
      }
      

      是的,这段代码让我们获得了我们提供给facebook的哈希。但是,你是否设法找到了提到这一点的真实文档源。我也想知道这是如何管理的。当应用程序拨打电话时,应用程序id、包和哈希键在Google和FB服务器上是如何链接的。