首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何创建加密的Jar文件?

如何创建加密的Jar文件?
EN

Stack Overflow用户
提问于 2009-02-11 16:26:19
回答 4查看 53.5K关注 0票数 18

我在项目上工作,必须保护数据(揭示代码不是主要问题)文件。我们使用Java + Netbeans。有什么工具可以创建加密格式的jar吗?我们也在使用sqlite作为数据库-所以将文本文件放在加密格式也不是我们合适的选择。

EN

回答 4

Stack Overflow用户

发布于 2009-02-11 16:36:44

创建加密的JAR是不可能的,因为执行JavaVM必须能够以某种方式读取它想要执行的数据。与VM类似,任何拥有适当工具和技术的人都可以从JAR中提取所有数据。

如果可以对JAR进行加密,您还必须向想要执行JAR的客户端提供一些解密密钥或工具,这完全违背了加密的目的。

你能得到的最好的结果就是混淆,但对于野心勃勃的攻击者来说,这并不是真正的安全或障碍。

票数 23
EN

Stack Overflow用户

发布于 2009-02-15 09:57:42

通常,如果您希望应用程序及其数据是自包含的,则无法以安全的方式完成此操作。但是,您当然可以使用隐藏在代码中的密钥对文件进行加密和解密。一个有决心的黑客可以得到它,但如果这不是你所担心的,那么很好。如果你这样做,记住加密的数据不能被压缩,所以先压缩,再加密。

如果你真的需要数据是安全的(例如,机密数据),你需要用密钥对数据进行加密,并通过一些外部手段将该密钥提供给应用程序,例如将其放在拇指驱动器上,然后通过安全信使将其提供给用户。

另一种可能是通过SSL提供数据(或密钥),并使用良好的身份验证方法来验证您的用户是谁。

一般来说,任何系统都不可能是完全安全的,但也不是必须的。系统只需要足够安全,就可以阻止您认为会试图破解它的攻击者。

票数 4
EN

Stack Overflow用户

发布于 2009-02-11 16:53:14

另一种选择是创建一个动态解密JAR的自定义JVM。但是仍然存在相同的问题:在某些情况下,JAR Java类必须被解密才能由JVM运行,而在这种情况下,它们可以被捕获和反编译。

更不用说拥有一个定制的JVM将要求所有用户也下载该JVM。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/537596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档