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

いいえ、これは不可能です。

OS は、ユーザーを認証するためにパスワードを使用する必要さえありません。指紋、証明書などを使用できます。

また、パスワードを使用してユーザーを認証する場合でも、メモリを保持しない可能性があります。

これがあなたの求めているものである場合は、「シングルサインオン」を探してください。

于 2013-02-21T08:55:17.103 に答える
1

私の知る限り、現在、パスワードはどの OS でもプレーン テキストとして保存されていません。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 に答える