如何从System.getProperties()获取系统密码

时间:2013-02-21 08:19:02

标签: java

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

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

有没有办法获得类似user.password的内容?

注意:我无意入侵系统:)

5 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:2)

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

java -Dpassword=foo -jar myjar.jar

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

答案 2 :(得分:2)

不,这是不可能的。

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

即使它使用密码对用户进行身份验证,也可能无法保留内存。

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

答案 3 :(得分:1)

据我所知,密码现在不会作为纯文本存储在任何操作系统中。使用System.getProperties可以获得以下内容,但不能获得密码。

Key                 Meaning
"file.separator"    Character that separates components of a file path. This is "/" on UNIX and "\" on Windows.
"java.class.path"   Path used to find directories and JAR archives containing class files. Elements of the class path are separated by a platform-specific character specified in the path.separator property.
"java.home"         Installation directory for Java Runtime Environment (JRE)
"java.vendor"       JRE vendor name
"java.vendor.url"   JRE vendor URL
"java.version"      JRE version number
"line.separator"    Sequence used by operating system to separate lines in text files
"os.arch"           Operating system architecture
"os.name"           Operating system name
"os.version"        Operating system version
"path.separator"    Path separator character used in java.class.path
"user.dir"          User working directory
"user.home"         User home directory
"user.name"         User account name

Java documentation

答案 4 :(得分:0)

不,Java系统属性中没有user.password

更多:System Properties