android哈希密钥

use*_*863 7 android facebook

我已经完成了开发一个使用facebook sdk与Facebook集成的Android应用程序.我没有任何问题或问题需要解决这个应用程序,因为它功能齐全,运行良好 - 但据说我相信即使应用程序运行,我仍然不完全明白什么是Android密钥哈希.

1)我理解facebook sdk为开发人员提供了一个独特的应用程序ID,以便知道他们与谁"交谈",这样他们也可以控制谁是谁等等,但是他们从你的android密钥哈希获得了什么?

2)我明白我的开发PC上的模拟器有一个密钥哈希(我得到),三星Galaxy S1和S2(两者都有相同的密钥哈希)有一个不同的,现在我已通过apk另一个用户具有不同的密钥哈希(以及不同的手机品牌和Android版本).那么 - 如果我有一天在Google Play上发布我的应用程序,我是否需要更新所有可能的哈希密钥的Facebook /开发人员?

3)哈希键对于模型或平台/ android版本是唯一且恒定的,或者我可以从我的应用程序生成密钥哈希所以我可以添加它并使从不同手机运行的所有相同的应用程序使用相同的?

4)一般来说 - 我不明白什么是关键哈希,谁生成它,最重要的是为什么 - 关键哈希的用途是什么,以及它对Facebook有什么好处?

我试图搜索它,但是在这里我发现了关于知道什么是模拟器密钥哈希的步骤的问题或者关于如何处理谷歌上的Facebook /开发者的指示.我确信有文件涵盖了这个,找不到它.

谢谢!

Jes*_*hen 17

1)我理解facebook sdk为开发人员提供了一个独特的应用程序ID,以便知道他们与谁"交谈",这样他们也可以控制谁是谁等等,但是他们从你的android密钥哈希获得了什么?

正如您在文档中看到的那样,可以通过额外的安全层来验证应用程序的身份.

2)我明白我的开发PC上的模拟器有一个密钥哈希(我得到),三星Galaxy S1和S2(两者都有相同的密钥哈希)有一个不同的,现在我已通过apk另一个用户具有不同的密钥哈希(以及不同的手机品牌和Android版本).那么 - 如果我有一天在Google Play上发布我的应用程序,我是否需要更新所有可能的哈希密钥的Facebook /开发人员?

密钥哈希基于您用于构建APK的计算机,它不依赖于运行的手机.因此,如果您只从一台开发机器上处理您的应用程序,那么您的应用程序只需要担心一个密钥哈希值.目前,当您还在开发应用时,您正在使用Android调试密钥,当您想要发布到Google Play时,Google要求您使用自己的密钥签署APK,而不是 Android调试密钥.当您创建自己的密钥以对APK进行签名时,您还需要在Facebook上的应用设置中复制并粘贴您自己密钥的密钥哈希.

3)哈希键对于模型或平台/ android版本是唯一且恒定的,或者我可以从我的应用程序生成密钥哈希所以我可以添加它并使从不同手机运行的所有相同的应用程序使用相同的?

就像我上面说的那样,密钥哈希与运行它的平台/设备无关,密钥哈希与你构建APK的机器相关联.因此,出于测试目的,您可以找到android调试密钥的密钥哈希并将其粘贴到应用程序设置中,并且运行该APK版本的所有手机都可以使用.简而言之,哈希键=>开发PC,不是哈希键==>手机

4)一般来说 - 我不明白什么是关键哈希,谁生成它,最重要的是为什么 - 关键哈希的用途是什么,以及它对Facebook有什么好处?我试图搜索它,但是在这里我发现了关于知道什么是模拟器密钥哈希的步骤的问题或者关于如何处理谷歌上的Facebook /开发者的指示.我确信有文件涵盖了这个,找不到它.谢谢!

密钥哈希是用于在编译应用程序时对APK进行签名的密钥哈希.Eclipse会使用android调试键自动为您执行此操作,但是当您上传到Google Play时,您需要创建自己的密钥.它对你和Facebook都有好处,因为它是一个额外的安全层,以确保代表你调用API的应用程序实际上是你的应用程序.