如何在 Android 上安全地使用 Google 映射 API 密钥?
How to securely use Google Map API key on Android?
为了不暴露我的 Google 映射 API 密钥,最好不要在 Android 应用程序存储库本身中包含 API 密钥。如果 API 键不在应用程序中,我该如何使用 Google 地图?将 API 密钥存储在服务器中是可行的方法,那么我是否可以在 app init 上进行网络调用并请求 API 密钥?从服务器获得响应后,将 API 密钥存储在共享首选项中?这是我能想到的唯一方法,但如果它存储在共享首选项中,我相信 API 键可以通过逆向工程读取共享首选项中的值来获得。谁能告诉我使用 API 密钥的安全方法是什么,谢谢。
Google Maps Platform API 密钥在 Android 应用程序中的安全使用在 Google Maps Platform 文档中进行了描述:
https://developers.google.com/maps/documentation/android-sdk/get-api-key#restrict_key
诀窍是应用 Android 应用限制,其中包括应用的包名和证书的 SHA-1 指纹。此限制在您的 Google 云控制台中设置,不会在您的源代码中的任何地方公开。
如果有人试图以未经授权的方式使用您的 API 密钥,他们将收到错误消息,因为他们需要您的私人证书才能使 API 密钥正常工作。
因此,如果您正确设置 Android 限制,则在源代码中添加 API 键没有问题。
此外,我建议您查看 API 关键最佳实践文章:
https://developers.google.com/maps/api-key-best-practices
希望我的回答能解开你的疑惑。
为了不暴露我的 Google 映射 API 密钥,最好不要在 Android 应用程序存储库本身中包含 API 密钥。如果 API 键不在应用程序中,我该如何使用 Google 地图?将 API 密钥存储在服务器中是可行的方法,那么我是否可以在 app init 上进行网络调用并请求 API 密钥?从服务器获得响应后,将 API 密钥存储在共享首选项中?这是我能想到的唯一方法,但如果它存储在共享首选项中,我相信 API 键可以通过逆向工程读取共享首选项中的值来获得。谁能告诉我使用 API 密钥的安全方法是什么,谢谢。
Google Maps Platform API 密钥在 Android 应用程序中的安全使用在 Google Maps Platform 文档中进行了描述:
https://developers.google.com/maps/documentation/android-sdk/get-api-key#restrict_key
诀窍是应用 Android 应用限制,其中包括应用的包名和证书的 SHA-1 指纹。此限制在您的 Google 云控制台中设置,不会在您的源代码中的任何地方公开。
如果有人试图以未经授权的方式使用您的 API 密钥,他们将收到错误消息,因为他们需要您的私人证书才能使 API 密钥正常工作。
因此,如果您正确设置 Android 限制,则在源代码中添加 API 键没有问题。
此外,我建议您查看 API 关键最佳实践文章:
https://developers.google.com/maps/api-key-best-practices
希望我的回答能解开你的疑惑。