什么是Facebook开发人员哈希密钥,为什么需要它?

时间:2018-12-30 17:10:24

标签: android facebook

为了将Android应用程序与Facebook集成,需要生成密钥哈希。

这里的问题不是如何生成它,而是为什么需要这样做。 Facebook解释说,它需要Android密钥哈希来确保Facebook和应用程序之间的真实性。但是,我不清楚Facebook为什么在开发环境中需要唯一的密钥哈希?

并且,如果该应用程序有多个开发人员,每个开发人员都有自己的开发环境,该怎么办?

1 个答案:

答案 0 :(得分:0)

这是一种相当普遍的做法,即使在开发环境中使用它也可以防止滥用API密钥。该API密钥可以很容易地从APK中提取,并且SDK API可以根据其签名密钥对应用进行身份验证。

建议您与所有使用该应用程序的开发人员共享该应用程序的开发签名密钥。通过在项目中签入签名密钥,可以轻松完成此操作。 Android Studio为您创建的签名密钥位于$HOME/.android/debug.keystore中。您可以将此密钥复制(或创建一个新密钥)到您的项目中,并将其包括在build.gradle配置文件中。例如:

signingConfigs {
        debug {
            storeFile file("../keystores/debug.keystore")
        }
        release {
          :
        }
}

这解决了在开发环境中为所有人使用相同的Facebook密钥的问题。此外,它还允许开发团队中的任何人构建和分发始终使用相同密钥签名的应用程序的调试版本。