0

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

我想要做的是让“临时黑客”尽可能难以找到这些数据库文件中的一个并打开它们。例如,有人放弃了将它们粘贴在受密码保护的 ZIP 文件中的想法,然后使用此处建议的库将其动态解密为 InputStream 或临时文件。

这是值得做的事情吗?

编辑:我意识到这不会是完全安全的,并且足够敬业的黑客可能仍然能够找到密钥并对其进行解密(这似乎是任何此类程序的漏洞)。

4

2 回答 2

3

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

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

普通用户不会打开应用程序二进制文件。打开应用程序二进制文件的人有工具可以找到您的加密密钥。

如果你想通过默默无闻来从事安全,只需将数据库文件命名为“commons-io-3.2.1.jar”而不是“mydb.sqlite3”。对你来说不麻烦,仍然甩掉“休闲黑客”。

于 2013-04-23T05:01:37.923 回答
0

除了使用密码保护您的 SQLite DB,您可以选择不将其与应用程序 APK 一起提供,而是在首次运行时下载内容,这样您就不必加密和解密,并且您的 APK 更轻量级。

另请记住,您的数据库仍然可能被强烈的黑客入侵。

于 2013-04-23T04:35:29.947 回答