【发布时间】:2012-06-07 23:01:38
【问题描述】:
当我从 eclipse 的 java 源代码文件 创建 可运行的 jar 文件 时,我相信它会创建一个类文件,然后可以由 JVM 运行。
我问这个的原因是因为我要制作一个保存我所有密码的 java 应用程序。该应用程序将包含一个要求输入密码的界面,然后如果密码正确,则显示密码。以下是我关于这个主题的问题:
- 可运行的 *jar 文件*究竟由什么组成?
- 如果可运行的 jar 文件由 类文件组成,那么该 类文件是否可以被解释为能够查看源代码会破坏密码的代码?
- 当您从 cmd 运行 可运行 jar 文件 并键入 "java -jar xxx" 时。 "xxx" 表示文件名,"-jar" 表示你要运行一个 jar 文件,"java" 表示运行JVM中的以下文件?
- 这样是不是像.exe文件,转成.exe文件后无法解除可读源代码。
【问题讨论】:
-
相关:stackoverflow.com/questions/2537568/best-java-obfuscator - 简而言之:确保即使有源代码,也没有人能找到您的密码。
-
Jetty 使用一种简单的方式来对密码进行编码,因此它们不是人类可读的。你可能想做类似的事情。
-
您不使用现成的密码管理器应用程序是否有特殊原因?了解安全性并努力避免您的问题的回答者指出的各种问题的人们已经开发了各种商业和开源选项。例如,Password Safe 是一个开源密码管理器,由著名的密码学家和安全从业者 Bruce Schneier 创建