google-play - 使用 anjlab 中的 BillingProcessor 时 Google Play 中的安全性
问题描述
我正在使用来自 anjlab 的BillingProcessor。
即具有以下功能:
String licenceKey = "My license key from Google Play";
bp = BillingProcessor.newBillingProcessor(this, /*"YOUR LICENSE KEY FROM GOOGLE PLAY CONSOLE HERE" null if checking test*/ licenceKey, this);
licenceKey
在 Google Play 控制台中找到的那个很长的字符串在哪里。
但是,我的问题是:
1. 将我的 Google Play 许可证密钥放入可以逆向工程的代码中是否安全?
2. 如果不安全,我该怎么办?
解决方案
安全 - 是和否。这是安全的,因为您不会泄露任何危险信息。此密钥只是 Google 为您的应用提供的公钥,可让您检查购买消息是否来自 Google。如果它在互联网上发布,就不会有任何重大的安全损失。
但是,每当您在 Android 应用程序中进行验证时,您的应用程序都容易受到更改。攻击者可以修改您的 APK 以取消检查,并免费提供您的 IAP。如果您的应用程序必须离线工作或没有服务器端部分,那么您对此无能为力。但是,如果您的应用确实有服务器端组件,那么在您的服务器上验证购买会更安全。这取决于您的应用程序的设计。
推荐阅读
- node.js - 将文本和类别值传递给数据库(节点、反应、mongodb)
- laravel - 刷新令牌必须传入或设置为 setAccessToken 的一部分
- node.js - CloudFunctions with Pubsub : 发布延迟很长
- angular - 使用 `forEach()` 迭代接口数组
- python - Pytorch nll_loss 在训练循环期间返回恒定损失
- javascript - 如何在threeJs中投射/接收阴影
- css - 查看封装渗入其他风格
- oracle - 删除除给定查询获取的所有记录之外的所有记录
- semantic-mediawiki - MediaWiki 修改属性将它们设置为永远“受保护”
- node.js - 嗯,我对 node.js 有点陌生,我对一般的脚本编写很陌生,但我希望有人能帮助我。我在终端接收这个