System.getProperties()返回所有系统属性。
我可以在user.name
属性中看到我的系统用户名。
有没有办法得到类似user.password
的东西?
注意:我无意破解系统:)
不,你不能那样做。密码不能作为系统属性使用。
我认为密码可能不会以可读文本的形式存储在操作系统中的任何位置。
不,这是不可能的。
操作系统甚至不需要使用密码来验证用户。它可以使用指纹、证书等
即使它使用密码对用户进行身份验证,也可能无法将其保存在内存中。
寻找"单一登录",如果这是你想要的。
如果你想把密码传给你的程序,你可以从外部编写脚本,当你像这样运行程序时"传进来":
java -Dpassword=foo -jar myjar.jar
调用System.getProperty("password")应该返回"foo"。
据我所知,密码现在在任何操作系统中都不是以明文形式存储的。使用System.getProperties可以获得以下内容,但不能获得密码。
关键含义"file.sseparator"用于分隔文件路径的组成部分的字符。在UNIX上为"/",在Windows上为"\"。"java.class.path"用于查找包含类文件的目录和JAR档案的路径。类路径的元素由path.separator属性中指定的特定于平台的字符分隔。java Runtime Environment(JRE)的"java.home"安装目录"java.vendor"JRE供应商名称"java.vendor.url"JRE供应商url"java.version"JRE版本号操作系统用于分隔文本文件中的行的"line.sseparator"序列"os.arch"操作系统架构"os.name"操作系统名称"os.version"操作系统版本"path.sseparator"java.class.path中使用的路径分隔符"user.dir"用户工作目录"user.home"用户主目录"user.name"用户帐户名
Java文档
否,Java系统属性中没有user.password
。
更多:系统属性