我需要隐藏移动(Android OS)应用程序中的值。据我所知,加密该值是没有用的,因为加密机制的密钥必须可用于程序,因此攻击者可以对代码进行逆向工程。因此,似乎唯一的“解决方案”是尽可能隐藏应用程序中的秘密值,显然不是理想的。任何意见?我错过了什么吗?如果没有,隐藏价值的最佳方式是什么?
感谢您的想法! 伊万
答案 0 :(得分:2)
无论您使用何种方法隐藏值,他(他的手机)都必须有足够的信息来解码和取消隐藏它,否则它就无法使用。如果你允许他控制的设备使用它,就没有可靠的方法阻止他看到它。
最好的办法是简单地放弃可以做到这一点的错觉,而是专注于某人甚至想要对你的代码进行逆向工程的概率,并减轻对时间的不利影响它发生了。
你可以简单地在应用程序中包含值,也许是轻度编码(例如base64等),以防止偶然的观察者看到它。如果有人弄清楚了,你可能永远都不会知道(或关心)。
如果绝对的信息必须保密,那么绝对必须不在用户的手机上。而是设置一个服务(如Web服务)来与信息交互,但从不实际检索它。