2

System.getProperties() 将所有系统属性返回给我。

我可以在属性中看到我的系统用户名user.name

有没有办法得到类似的东西user.password

注意:我无意破解系统:)

4

5 回答 5

4

不,你不能那样做。密码不可用作系统属性。

我认为密码可能不会在操作系统的任何地方存储为可读文本。

于 2013-02-21T08:20:07.960 回答
2

如果您想将密码传递给您的程序,您可以从外部编写脚本并在运行程序时“将其传递”,如下所示:

java -Dpassword=foo -jar myjar.jar

然后调用 System.getProperty("password") 应该返回“foo”。

于 2013-02-21T08:29:55.607 回答
2

不,这是不可能的。

操作系统甚至不需要使用密码来验证用户身份。它可以使用指纹、证书等。

即使它使用密码来验证用户,它也可能不会记住它。

寻找“单点登录”,如果这是您所追求的。

于 2013-02-21T08:55:17.103 回答
1

据我所知,密码现在没有以纯文本形式存储在任何操作系统中。使用 System.getProperties 您可以获得以下信息,但不能获得密码。

关键意义
"file.separator" 分隔文件路径组件的字符。这是 UNIX 上的“/”和 Windows 上的“\”。
“java.class.path” 用于查找包含类文件的目录和 JAR 档案的路径。类路径的元素由 path.separator 属性中指定的平台特定字符分隔。
“java.home” Java 运行时环境 (JRE) 的安装目录
“java.vendor” JRE 供应商名称
“java.vendor.url” JRE 供应商 URL
"java.version" JRE 版本号
"line.separator" 操作系统用来分隔文本文件中的行的序列
"os.arch" 操作系统架构
"os.name" 操作系统名称
"os.version" 操作系统版本
"path.separator" java.class.path 中使用的路径分隔符
"user.dir" 用户工作目录
"user.home" 用户主目录
"user.name" 用户账户名

Java 文档

于 2013-02-21T08:34:51.340 回答
0

不,user.passwordJava 系统属性中没有。

更多:系统属性

于 2013-02-21T08:21:08.707 回答