gpt4 book ai didi

qt - 加密、可压缩、跨平台、文件中的文件系统

转载 作者:行者123 更新时间:2023-12-01 22:58:08 31 4
gpt4 key购买 nike

我们希望制作一个桌面应用程序,用于搜索大小为几 GB 的本地打包文本数据库。我们正在考虑使用 lucene。

所以基本上用户会搜索几个词,本地的lucene数据库就会返回一个结果。但是,我们希望防止用户获取 lucene 索引的全文转储,因为文本数据库很有值(value)并且是专有的。 Web 应用程序不是这里的解决方案,因为客户希望此桌面应用程序能够在 Internet 不可用的区域工作。

我们如何加密 lucene 的数据库,以便只有客户端应用程序可以访问 lucene 的索引,而窥探用户无法获取索引的全文转储?

我们认为,实现此目的的一种方法是,如果 lucene 索引可以存储在文件内的加密文件系统中(类似于 truecrypt)。因此桌面应用程序将“挂载”包含 lucene 索引的文件。

这需要跨平台(Linux、Windows)...我们将使用 Qt 或 Java 来编写桌面应用程序。

有没有更简单/更好的方法来做到这一点?

[这是给客户的。是的,是的,从概念上讲这是一件坏事 :-) 但这就是他们想要的方式。基本上,关键是只有桌面应用程序应该能够访问 lucene 索引,而其他任何人都不能。有人指出,这本质上是 DRM。是的,它类似于 DRM]

最佳答案

How do we encrypt lucene's database so that only the client application can access lucene's index and a prying user can't take a full text dump of the index?

你不知道。用户将拥有 key 和加密数据,因此他们可以访问所有内容。您可以将 key 埋在混淆文件中,但这只会增加轻微的延迟。它当然不会阻止窥探用户。你需要重新考虑。

关于qt - 加密、可压缩、跨平台、文件中的文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3148989/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com