【问题标题】:Need an advice about JDBC encrypted embedded database [closed]需要有关 JDBC 加密嵌入式数据库的建议 [关闭]
【发布时间】:2020-03-26 09:38:14
【问题描述】:

我创建了一个 JavaFX 桌面应用程序,需要将数据存储在加密存储中。 起初,我想将加密的原始数据存储在表中,就像在服务器上完成的那样,但是通过这种方法,我失去了搜索它的能力,如果我愿意的话 - 我需要每次都在内存中解密所有内容。 所以,我发现 H2 数据库支持加密,但它只支持 AES-128,我还没有找到任何关于我现在使用的 AES-256 的信息。 此外,我没有在互联网上找到任何关于它的讨论或实现的计划,或此功能的请求。 那么,为什么没有关于它的信息,难道真的没有人需要它吗?

【问题讨论】:

    标签: database encryption jdbc h2


    【解决方案1】:

    也许您可以选择使用非常流行的 SQLite 数据库。 SQLite 加密扩展支持 AES-256。见:https://www.sqlite.org/see/doc/release/www/readme.wiki

    编辑: 这是内置加密支持的 SQLite 版本:https://github.com/Willena/sqlite-jdbc-crypt

    【讨论】:

    • 我看到了这个选项,但是有很多加急,它是用 C 编写的,我需要编译一些东西来使它使用加密等等,看起来很奇怪。
    • 不,您可以通过 Maven 依赖项直接使用它。见:github.com/Willena/sqlite-jdbc-crypt
    • 我还发现 Derby Database 非常适合我的需求,唯一的缺陷是它不支持“GCM”
    • 我看到 sqlite-jdbc-crypt 也不支持“GCM”,只支持易受 oracle padding 攻击的“CBC”
    猜你喜欢
    • 2014-09-26
    • 2016-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多