如何在不使用任何DBMS的情况下在程序中存储键值对数据?

时间:2014-10-10 17:58:17

标签: android c++ qt

我想用C ++和qt构建一个字典,后来用于android,这将有一个单词和含义。简单的选择是使用sqlite或mysql像DBMS但我不想使用它们,因为sqlite不安全(任何人都可以打开那个sqlite数据库来复制我的单词意义对)和mysql需要一个大的安装程序文件与installer.is有任何方式我可以在程序中存储我的单词意义对吗?或者我可以存储字符串数组中的单词意义疼痛?有120000个单词,差不多360000意味着如果我创建一个字符串字符串word_meaning [360000] [2]?加载程序会有问题吗?

或使用受密码保护的zip?这是一个可行的解决方案吗?

请推荐任何其他安全且更好的方法

问候

1 个答案:

答案 0 :(得分:0)

就像MSalters所说,没有办法让它保证牢不可破,但你可以让它变得非常困难。如果你让它变得非常难以破坏你的安全性而不值得努力,那么你就足够安全了。

您需要在编程复杂性和安全性之间进行权衡。

我能想到的最安全的是将数据库放在您自己的服务器上,让您的应用程序查询服务器。这样黑客就无法访问您的数据库。但也许你在浏览字典时也需要高性能,或者你不希望你的游戏需要互联网。

我能想到的下一件事是在你的app的资源目录中放置带有含义词的加密文本文件。您的应用程序将包含解密文本文件的密钥,黑客需要反编译您的应用程序并找到密钥才能解密文件以窃取您的字典。

希望这有帮助。