首页 文章

SQLite数据库加密的替代方案[重复]

提问于
浏览
0

这个问题在这里已有答案:

我的桌面Java应用程序使用了几个只读的SQLite数据库,我希望人们无法打开并查看它们 . 通常,这可以通过加密来完成,但我目前正在使用sqlite4java库,它不支持加密,也不容易使用其他SQLite加密库(例如SEE) .

我正在尝试做的是尽可能让"casual hacker"尽可能难以找到其中一个数据库文件并打开它们 . 例如,有人抛出了将它们粘贴在受密码保护的ZIP文件中的想法,然后使用类似于建议here的库来动态解密它作为InputStream或临时文件 .

这会是值得做的吗?

编辑:我意识到这不会是完全安全的,一个专门的黑客可能仍然能够找到一个密钥并解密它(这似乎是任何此类程序的漏洞) .

2 回答

  • 3

    “我想做的就是尽可能地让它变得困难 . ”

    你可能只是让自己尽可能地困难 .

    普通用户不打开应用程序二进制文件 . 打开应用程序二进制文件的人可以使用工具查找加密密钥 .

    如果您想通过默默无闻来参与安全性,只需将数据库文件命名为“commons-io-3.2.1.jar”而不是“mydb.sqlite3” . 对你没有麻烦,仍然抛弃了“随意的黑客” .

  • 0

    您可以选择不使用应用程序APK发送密码而不是密码来保护您的SQLite数据库,而是在首次运行时下载内容,这样您就不必加密和解密,并且您的APK更轻 .

    还记得,你的数据库仍然可能被强烈的黑客入侵 .

相关问题