将申请的AppId或是其他key直接放到代码里有什么坏处?最好的做法是什么?

情景模式:
因为要使用QQ分享,所以在QQ上申请了appid和appkey,这两个字符串直接以明文的形式配置到代码中(这个常量不能混淆),然后把应用发出去了。

于是问题就来了:
这个时候别人反编译了我的包,拿到了我的申请的appid和appkey,于是就可以以我应用的名义通过QQ分享其他信息。

求,这种情况会不会发生?如果发生了,应该怎么办?

刚看到下面说有的平台会通过应用签名进一步鉴别,那么没有验证应用签名的呢。我刚为公司的应用写分享功能,在写之前弄了个demo熟悉一下,结果微信分享不出去,但是QQ能分享出去,而我的demo用的可是默认签名啊。面对这种情况怎么破?

阅读 4.8k
3 个回答

appkey? 确定不是appsecret? 分享时QQ、微博、微信会同时检查应用签名,反编译再打包的应用签名是不同于官方应用的,签名检查是通不过的,除非你的签名keystore也泄露出去了。所以,保存并保护好你的应用签名keystore,分享这块一般就不会有什么问题。就算是appsecret泄露了,也是可以联系客服更换的。


如果发生了,赶紧改掉appkey
如果没发生,赶紧改掉代码,进行加密

谁闲的蛋疼这样去弄,如果想要代码安全,可以把这些key放到C/C++中,然后用JNI取;或者使用360加固之类的工具对APK进行加固,让别人无法反编译。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题