现在是 2020 年 7 月。
悬而未决的问题是:如果我的 flutter 应用程序需要秘密字符串来运行,比如 API 密钥,那么什么策略可以防止恶意方能够从已发布的应用程序中提取此 API 密钥?
我发现了一些关于这个主题的讨论线程,但似乎没有一个答案。
使用 flutter_secure_storage
我不认为那行得通。我可以使用它来将用户输入传递到 Keychain/Keystore,在那里它将永远保持安全。但是除非我亲自将 API 密钥输入到我的应用程序的每个安装中,否则这不能用于存储 API 密钥......如果 API 密钥不在代码/资产中
将 API 密钥存储在后端服务器上,仅将结果传递给应用程序
好吧,这只会通过额外的步骤产生同样的问题。我的供应商 API 密钥现在在我的后端服务器上是安全的。但是我使用什么“密钥”来管理来自后端服务器的数据请求……嗯,这需要在颤振代码/资产中
使用 firebase 远程配置
firebase 说不要那样做:
不要在远程配置参数键或参数值中存储机密数据。可以对项目的远程配置设置中存储的任何参数键或值进行解码。
好的,这是我认为不起作用的几种方法。真的有有效的策略吗?
我对此有一些解决方案。
将您的 API 密钥拆分为许多字符串。将它们存储在随机位置,并在调用时以非常复杂的方式组合它们。简而言之,使您的代码变得复杂而难以理解。
将您的 API 密钥存储在文档中,并在进行 API 调用时检索它。
(..我认为这是一个更好的方法)
让我知道你在想什么。:)
| 归档时间: |
|
| 查看次数: |
1090 次 |
| 最近记录: |