C/C++;在Android应用程序中存储私钥的代码

C/C++;在Android应用程序中存储私钥的代码,android,c++,android-ndk,proguard,obfuscation,Android,C++,Android Ndk,Proguard,Obfuscation,我正试图找到在Android应用程序中存储私钥的最佳方法。Proguard不够,DexGuard听起来不错,但对我来说有点贵 在我的例子中,最重要的是隐藏(或强化)一些API访问键。经过几天的反复尝试,我发现使用C代码看起来很有用 我的问题是 ・您认为使用C/C++是隐藏私钥的好方法吗 ・我正在使用Android Studio。也许我可以使用NDK(原生开发工具包)。你认为NDK比其他方法更简单吗?(我从未使用过NDK) 谢谢 供参考 在客户端应用程序中安全保存密钥是不可能的。java可以很容

我正试图找到在Android应用程序中存储私钥的最佳方法。Proguard不够,DexGuard听起来不错,但对我来说有点贵

在我的例子中,最重要的是隐藏(或强化)一些API访问键。经过几天的反复尝试,我发现使用C代码看起来很有用

我的问题是

・您认为使用C/C++是隐藏私钥的好方法吗

・我正在使用Android Studio。也许我可以使用NDK(原生开发工具包)。你认为NDK比其他方法更简单吗?(我从未使用过NDK)

谢谢

供参考


在客户端应用程序中安全保存密钥是不可能的。java可以很容易地反编译。proguard让它变得更难。C++看起来更难,但不难反编译。所以你们必须意识到,若你们将密钥保存在客户端应用程序中,一些黑客可以找到任何密钥


最简单的方法是,打开你的库并尝试以文本形式搜索你的密钥。很可能,您会在二进制文件的某个地方看到它

谢谢Adem。是的,完全同意你的看法。但是“好多了”对我来说是可以的。这并不容易。我认为在键上应用一些过滤器会很好。在C++代码打开库中将其保留为普通格式。有趣。我从来没想过。如果你把它写成普通格式,比如std::string key(“some key”);您很可能将其视为文本格式OK。我将用解码键编写编码字符串。。