【发布时间】:2015-09-20 13:34:57
【问题描述】:
我使用 JavaFX 和嵌入的 H2 database 编写了一个应用程序,并使用 Excelsior JET 将其编译为本机 Windows 指令。某些数据库字段不得被其他人访问。我的问题是我应该加密这些字段还是原生代码指令提供足够的安全性?
向应用程序提供秘密数据似乎不合理,但我需要这样做。
更新: 有什么建议可以保护他们吗?
【问题讨论】:
-
提示:你会将加密密钥保存在哪里?
-
@ArtjomB。我只有一个地方,在客户端,在代码中的某个地方。
-
是的,完全正确。如果它在代码中,那么它将出现在目标代码/字节代码中。如果某人有足够的决心,他们可以找到它并对使用的算法进行逆向工程。
-
在这里你能做的最好的就是混淆。加密可能会使这种混淆更加难以解开,但最终它是众所周知的通过默默无闻的安全性。小秘密总比没有好,但不要相信它可以保护任何有价值的数据。
-
您可以使用Stringer 对字符串和资源进行加密。只要您避免使用依赖于字节码存在的功能(例如完整性检查),它就可以与 Excelsior JET 互操作。
标签: java encryption javafx h2 native-code