2016-11-14 155 views
0

在网上做了一些研究之后,我读了处理请求最安全的方法,就是让服务器调用API(通过php),然后将数据作为JSON对象提交回应用程序。YouTubePlayer - 如何隐藏/加密API密钥?

然而,在使用任何YouTubePlayer子类的情况下,API密钥需要在应用程序中设置:

public abstract void initialize (String developerKey, YouTubePlayer.OnInitializedListener listener)

开发者密钥需要出现代码某处。所有存储API密钥的传统方式(即作为私有静态字符串变量,在XML文件中)都不够有效。

问题:

  1. 是否有隐藏,即使APK反编译的API密钥的任何方式?
  2. 只是让应用程序调用服务器并让服务器将API密钥作为JSON对象发回(不存储它),是否安全?但是这种情况会发生恶意拦截吗?

这不是我的专业领域,所以如果任何人都可以提供建议,链接,示例代码,这将是伟大的:)谢谢!

+0

有世界上没有办法隐藏API密钥(不是我所知道的)完全。但你可以让它更难找到。使用ndk将密钥存储在C库中,但记住,C也有调试工具:) –

+0

@RahulKumar是对的。没有安全的方法。一切都可以逆向工程。抱歉。 ( –

回答

0

我正在为服务业务流程开发服务应用程序,并发现这是使用密钥加密api的最佳方法。

我串联MAC地址+设备ID作为加密密钥