我们正在尝试保护我们应用程序中的一些私有数据,方法是在发布应用程序之前对其进行加密,然后在运行时应用程序读取“私钥”来解密数据。
问题是,我们打算使用“Our KeyStore Hashkey”作为私钥,所以在运行时应用程序会生成 hashkey,并用它来解密私有数据,这种方式是否安全?
我们正在尝试保护我们应用程序中的一些私有数据,方法是在发布应用程序之前对其进行加密,然后在运行时应用程序读取“私钥”来解密数据。
问题是,我们打算使用“Our KeyStore Hashkey”作为私钥,所以在运行时应用程序会生成 hashkey,并用它来解密私有数据,这种方式是否安全?
不 - 这种方式不安全(与所有其他方式一样 - 需要明确) . 如果您要对其进行加密,您还必须附加解码加密数据所需的完整数据,以及完成该任务的完整代码(方法)。所以你只能想知道如何让所有的程序更混乱,更难反编译,但没有办法让它安全。在考虑应用程序安全性时,您必须考虑应用程序代码和数据对其他人来说是自由可读的。
不,做任何让你的应用程序获取这个私钥的事情都是不安全的。Android 应用程序特别容易反编译和逆向工程,更糟糕的是,修改和运行它们的修改版本。
如果您的数据非常重要,以至于您无法为用户提供用于获取数据的密码,那么您无需以任何方式向您的用户显示该数据。